Python爬虫实战--斗鱼直播爬虫
前言:
稍微总结一下前面我们所学到的内容吧!在前面的实战学习中,我们学会如何使用requests来获取网页源码,并从中提取出我们所需要的数据, 那接下来,我们也将进一步学会使用selenium获取网页,分析网页,和提取数据。
目标站点分析
目标URL:https://www.douyu.com/directory/all
明确内容:
本次爬虫实战里,我们将要爬取斗鱼网站上面所有的房间信息,并提取我们的目标数据:房间名,房间链接,房主,房间分类,观看人数等红色方框中的数据。
翻页策略:
之前讲过,我们在翻页是,有三种操作模式:
1.直接查找页面之间的联系,如:/pnXX/,这只需要XX递增,便可以遍历所有的页面了
2.对于AJAX加载的页面,我们需要找到接口,并请求它,获取页面信息,如新浪微博
3.通过找到,下一页的按钮,再使用selenium,点击按钮,完成翻页
这里我们可以采用第三种,来获取下一页的页面信息
# 3.点击下一页print('Next Page!')temp_list = self.driver.find_elements_by_class_name("shark-pager-next")# 4.进行循环获取所有的房间信息while len(temp_list) > 0 and times < 3:times += 1temp_list[0].click()time.sleep(3)item_list = self.get_room_info()self.save_item_list(item_list)print('Next Page!')temp_list = self.driver.find_elements_by_class_name("shark-pager-next")
提取数据
def get_room_info(self):li_list = self.driver.find_elements_by_xpath("//ul[@id='live-list-contentbox']/li")item_list = []for li in li_list:room_name = li.find_element_by_xpath("./a").get_attribute("title")room_link = li.find_element_by_xpath("./a").get_attribute("href")room_img = li.find_element_by_xpath("./a/span/img").get_attribute("src")room_category = li.find_element_by_xpath(".//span[@class='tag ellipsis']").textroom_author = li.find_element_by_xpath(".//span[@class='dy-name ellipsis fl']").textwatch_number = li.find_element_by_xpath(".//span[@class='dy-num fr']").textitem = dict(room_name=room_name,room_link=room_link,room_img=room_img,room_category=room_category,room_author=room_author,watch_number=watch_number,)item_list.append(item)# print(item)return item_list
战果展示
还是留个小作业吧~请大家进一步完善代码,并将提取的数据存入到数据库中。
源码地址:https://github.com/NO1117/Douyu_Spider
Python交流群:942913325 欢迎大家一起交流学习
Python爬虫实战--斗鱼直播爬虫相关推荐
- 〖Python网络爬虫实战③〗- 爬虫的基本原理
订阅:新手可以订阅我的其他专栏.免费阶段订阅量1000+ python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏 ...
- Golang实现并发版网络爬虫:斗鱼直播颜值区直播封面图片爬取并保存文件
爬取斗鱼直播颜值区直播封面图片代码实现: 工作流程: 1. 明确目标 Url2. 发送请求,获取应答数据包. http.Get(url)3. 过滤 数据.提取有用信息. 4. 使用.分析得到数据信息. ...
- 爬虫实战-直聘-爬虫岗位分析
爬虫岗位数据分析 一 数据集 # boss直聘网址:https://www.zhipin.com/web/geek/job?query=%E7%88%AC%E8%99%AB&city=1000 ...
- Python爬取斗鱼直播网站信息
一.需求 爬取斗鱼直播网站信息,如直播名字.主播名字.热度.图片和房间网址,将这些数据保存到csv文件中,并单独创建文件夹保存图片. 斗鱼直播网址:https://www.douyu.com/g_LO ...
- Python爬取斗鱼直播信息
一.需求 爬取斗鱼直播网站信息,如直播名字.主播名字.热度.图片和房间网址,将这些数据保存到csv文件中,并单独创建文件夹保存图片. 斗鱼直播网址:https://www.douyu.com/g_LO ...
- python爬虫实战测评_Python 爬虫实战入门(上)
之前为了工作需要,写了不少爬虫小程序,和同事们聊得过程中发现,很多人对爬虫还是停留在听说过的阶段,基于这个原因,特意写点适合小白看的,希望大家能对爬虫有个小认知. 工欲善其事必先利其器,既然要写爬虫, ...
- Python爬虫实战-----案例分析爬虫一般过程
有点闲适不知道看什么才好,那可以看看大众的口味.我们可以爬取各类国创,番剧等视频在榜作品,看看那些视频收到大家的喜爱.(虽然没人会用爬虫来看番) 目录 一.
- 爬虫实战:链接爬虫实战
假设我们想要把一个网页中所有的链接地址提取出来,我们可以通过python爬虫实现. 思路 确定好要爬取的入口链接 根据需求构建好链接提取的正则表达式 模拟成浏览器并爬取对应网页 根据步骤2的正则表达式 ...
- python3 爬虫实战:为爬虫添加 GUI 图像界面 之 tkinter
From:https://blog.csdn.net/Fan_shui/article/details/81611752 一.前言 前面我们写的爬虫只能运行在具有python环境的电脑上,若是把源代码 ...
- Python爬虫实战之xpath解析
XPath 是一门在 XML 文档中查找信息的语言,最初是用来搜寻 XML 文档的,但是它同样适用于 HTML 文档的搜索. 所以在Python爬虫中,我们经常使用xpath解析这种高效便捷的方式来提 ...
最新文章
- MySql常用命令总结[转]
- reduce_sum() got an unexpected keyword argument 'keep_dims'
- 补习系列(11)-springboot 文件上传原理
- 《深入理解Elasticsearch(原书第2版)》一1.3 在线书店示例
- optee内核中malloc函数的原理介绍
- Redis和mysql数据怎么保持数据一致的?
- Zuul之Filter详解
- python3 beautifulsoup 表格,使用Python中的BeautifulSoup拉取特定的表数据
- Echarts地图编写
- 卸载cuda_NVIDIA驱动和CUDA安装
- 在玩客云或树莓派上通过ffmpeg将视频推流到直播平台
- python读取图片并储存为CSV文件
- 罗永浩:比起悲剧英雄 我更喜欢被当成失败的小丑
- H5桌面通知: Notification API 的应用
- 动软代码生成器使用心得
- oceanbase ODC和Obclient连接mysql类型的ob库
- 炫酷3D相册 520七夕情人节表白网页制作(HTML+CSS+JavaScript)
- 并查集+最小生成树(Kruskal)+最短路(Floyd、Dijkstra)
- Vue使用Upload上传图片报错:TypeError: Cannot create property 'xxx' on string 'xxxx'
- HDFS中NameNode和Secondary NameNode