selenium爬取NBA并将数据存储到MongoDB

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++语言编写。介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

业务需求:

将某网站的数据用python爬虫技术爬取下来,并且存储到mongodb数据库。

原文地址:https://www.cnblogs.com/lutt/p/10810581.html

时间: 2024-11-06 09:56:47

selenium爬取NBA并将数据存储到MongoDB的相关文章

Scrapy实战---Scrapy对接selenium爬取京东商城商品数据

本篇目标:我们以爬取京东商城商品数据为例,展示Scrapy框架对接selenium爬取京东商城商品数据. 背景: 京东商城页面为js动态加载页面,直接使用request请求,无法得到我们想要的商品数据,故需要借助于selenium模拟人的行为发起请求,输出源代码,然后解析源代码,得到我们想要的数据. 第一步:设置我们需要提取的字段,也就是在Scrapy框架中设置Item.py文件. class ProductItem(scrapy.Item): # define the fields for y

用scrapy爬取ttlsa博文相关数据存储至mysql

运维生存时间这个博客内容还是比较详尽的,对与运维技术人员的我来说,是偶尔溜达进来的地方,从中也学习到不少知识,感谢博主的奉献! 这段时间我就通过scrapy来收集下此博客内文章的相关数据,供以后需要从中提取我认为值得看的文章作为数据依据. 今天,要做的事就是把数据先抓取出来,后期再将其数据存储起来. 首先通过命令scrapy genspider ttlsa www.ttlsa.com创建一个蜘蛛程序应用名为ttlsa 其次在ttlsa.py下编写如下代码. # -*- coding: utf-8

[python爬虫] Selenium爬取内容并存储至MySQL数据库

前面我通过一篇文章讲述了如何爬取CSDN的博客摘要等信息.通常,在使用Selenium爬虫爬取数据后,需要存储在TXT文本中,但是这是很难进行数据处理和数据分析的.这篇文章主要讲述通过Selenium爬取我的个人博客信息,然后存储在数据库MySQL中,以便对数据进行分析,比如分析哪个时间段发表的博客多.结合WordCloud分析文章的主题.文章阅读量排名等.        这是一篇基础性的文章,希望对您有所帮助,如果文章中出现错误或不足之处,还请海涵.下一篇文章会简单讲解数据分析的过程. 一.

使用selenium爬取网站动态数据

处理页面动态加载的爬取 selenium selenium是python的一个第三方库,可以实现让浏览器完成自动化的操作,比如说点击按钮拖动滚轮等 环境搭建: 安装:pip install selenium 获取浏览器的驱动程序:下载地址http://chromedriver.storage.googleapis.com/index.html 驱动与浏览器版本对应:https://blog.csdn.net/ezreal_tao/article/details/80808729 设置chorme

爬虫(十七):Scrapy框架(四) 对接selenium爬取京东商品数据

1. Scrapy对接Selenium Scrapy抓取页面的方式和requests库类似,都是直接模拟HTTP请求,而Scrapy也不能抓取JavaScript动态谊染的页面.在前面的博客中抓取JavaScript渲染的页面有两种方式.一种是分析Ajax请求,找到其对应的接口抓取,Scrapy同样可以用此种方式抓取.另一种是直接用 Selenium模拟浏览器进行抓取,我们不需要关心页面后台发生的请求,也不需要分析渲染过程,只需要关心页面最终结果即可,可见即可爬.那么,如果Scrapy可以对接S

用Scrapy爬虫爬取豆瓣电影排行榜数据,存储到Mongodb数据库

爬虫第一步:新建项目 选择合适的位置,执行命令:scrapy startproje xxxx(我的项目名:douban) 爬虫第二步:明确目标 豆瓣电影排行url:https://movie.douban.com/top250?start=0, 分析url后发现srart=后面的数字,以25的步长递增,最大为225,所以可以利用这个条件来发Request请求 本文只取了三个字段,电影名.评分和介绍,当然你想去更多信息也是可以的 item["name"]:电影名 item["r

[Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

一. 文章介绍 前一篇文章"[python爬虫] Selenium爬取新浪微博内容及用户信息"简单讲述了如何爬取新浪微博手机端用户信息和微博信息. 用户信息:包括用户ID.用户名.微博数.粉丝数.关注数等. 微博信息:包括转发或原创.点赞数.转发数.评论数.发布时间.微博内容等. 它主要通过从文本txt中读取用户id,通过"URL+用户ID" 访问个人网站,如柳岩: http://weibo.cn/guangxianliuya 因为手机端数据相对精简简单,所以采用输

[python爬虫] Selenium爬取CSDN博客摘要及问题

本文主要是采用Selenium来爬取CSDN的博文摘要,为后面对CSDN的热点技术.近几年专家发表的博客作数据分析.由于采用BeautifulSoup爬取该网站会报错"HTTPError: Forbidden",所以作者采用Selenium爬取.同时,在爬取过程中遇到了局部动态更新的问题,无法定位换页的问题,作者采用Firebug进行分析,也希望读者提出更好的方法.代码下载地址: 一. CSDN博客网站分析及问题 本文主要爬取CSDN专家的博客,因为专家的论文水平相对高点,同时专栏较多

[Python爬虫] Selenium爬取新浪微博移动端热点话题及评论 (下)

这篇文章主要讲述了使用python+selenium爬取新浪微博的热点话题和评论信息.其中使用该爬虫的缺点是效率极低,傻瓜式的爬虫,不能并行执行等,但是它的优点是采用分析DOM树结构分析网页源码并进行信息爬取,同时它可以通过浏览器进行爬取中间过程的演示及验证码的输入.这篇文章对爬虫的详细过程就不再论述了,主要是提供可运行的代码和运行截图即可.希望文章对你有所帮助吧~ 参考文章 [python爬虫] Selenium爬取新浪微博内容及用户信息 [Python爬虫] Selenium爬取新浪微博客户