- from selenium import webdriver
- driver = webdriver.Chrome()
- url = 'https://www.basketball-reference.com/leagues/NBA_2019.html'
- driver.get(url)
- # 操作等待
- driver.implicitly_wait(3)
- list_name = driver.find_elements_by_xpath('//*[@id="team-stats-per_game"]/tbody/tr/td[1]/a')
- # 三分球命中次数
- list_3p = driver.find_elements_by_xpath('//*[@id="team-stats-per_game"]/tbody/tr/td[7]')
- # 三分球投射次数
- list_3pa = driver.find_elements_by_xpath('//*[@id="team-stats-per_game"]/tbody/tr/td[8]')
- # 二分球命中次数
- list_2p = driver.find_elements_by_xpath('//*[@id="team-stats-per_game"]/tbody/tr/td[10]')
- # 二分球投射次数
- list_2pa = driver.find_elements_by_xpath('//*[@id="team-stats-per_game"]/tbody/tr/td[11]')
- # 导包
- from pymongo import MongoClient
- # 链接 mongo
- con = MongoClient(host='127.0.0.1',port=27017)
- # 链接数据库
- db = con['python']
- # 授权
- db.authenticate(name='lu',password='123456',source='admin')
- # 链接集合
- coll = db['NBA']
- length = len(list_name)
- for i in range(length):
- # 将 selenium 对象转成文本
- name = list_name[i].text
- p3 = list_3p[i].text
- pa3 = list_3pa[i].text
- p2 = list_2p[i].text
- pa2 = list_2pa[i].text
- ret = coll.insert_one({'team 队伍':name,'p3 三分球命中次数':p3,'p3a 三分球投射次数':pa3,'p2 二分球命中次数':p2,'p2a 三分球投射次数':pa2})
selenium: 浏览器自动化测试框架 ,Selenium 测试直接运行在浏览器中, 就像真正的用户在操作一样.
MongoDB: 是一个基于分布式文件存储的数据库. 由 C++ https://baike.baidu.com/item/C++ 语言编写. 介于关系数据库和非关系数据库之间的产品, 是非关系数据库当中功能最丰富, 最像关系数据库的.
业务需求:
将某网站的数据用 python 爬虫技术爬取下来, 并且存储到 MongoDB 数据库.
来源: http://www.bubuko.com/infodetail-3047004.html