selenium爬取NBA并将数据存储到MongoDB
时间:2021-07-01 10:21:17
帮助过:19人阅读
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++语言编写。介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
业务需求:
将某网站的数据用python爬虫技术爬取下来,并且存储到mongodb数据库。
selenium爬取NBA并将数据存储到MongoDB
标签:爬虫 bsp length 集合 stat enc lis 测试框架 min