前言:
稍微总结一下前面我们所学到的内容吧!在前面的实战学习中,我们学会如何使用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爬虫实战--斗鱼直播爬虫相关推荐

  1. 〖Python网络爬虫实战③〗- 爬虫的基本原理

    订阅:新手可以订阅我的其他专栏.免费阶段订阅量1000+ python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏 ...

  2. Golang实现并发版网络爬虫:斗鱼直播颜值区直播封面图片爬取并保存文件

    爬取斗鱼直播颜值区直播封面图片代码实现: 工作流程: 1. 明确目标 Url2. 发送请求,获取应答数据包. http.Get(url)3. 过滤 数据.提取有用信息. 4. 使用.分析得到数据信息. ...

  3. 爬虫实战-直聘-爬虫岗位分析

    爬虫岗位数据分析 一 数据集 # boss直聘网址:https://www.zhipin.com/web/geek/job?query=%E7%88%AC%E8%99%AB&city=1000 ...

  4. Python爬取斗鱼直播网站信息

    一.需求 爬取斗鱼直播网站信息,如直播名字.主播名字.热度.图片和房间网址,将这些数据保存到csv文件中,并单独创建文件夹保存图片. 斗鱼直播网址:https://www.douyu.com/g_LO ...

  5. Python爬取斗鱼直播信息

    一.需求 爬取斗鱼直播网站信息,如直播名字.主播名字.热度.图片和房间网址,将这些数据保存到csv文件中,并单独创建文件夹保存图片. 斗鱼直播网址:https://www.douyu.com/g_LO ...

  6. python爬虫实战测评_Python 爬虫实战入门(上)

    之前为了工作需要,写了不少爬虫小程序,和同事们聊得过程中发现,很多人对爬虫还是停留在听说过的阶段,基于这个原因,特意写点适合小白看的,希望大家能对爬虫有个小认知. 工欲善其事必先利其器,既然要写爬虫, ...

  7. Python爬虫实战-----案例分析爬虫一般过程

    有点闲适不知道看什么才好,那可以看看大众的口味.我们可以爬取各类国创,番剧等视频在榜作品,看看那些视频收到大家的喜爱.(虽然没人会用爬虫来看番) 目录 一.

  8. 爬虫实战:链接爬虫实战

    假设我们想要把一个网页中所有的链接地址提取出来,我们可以通过python爬虫实现. 思路 确定好要爬取的入口链接 根据需求构建好链接提取的正则表达式 模拟成浏览器并爬取对应网页 根据步骤2的正则表达式 ...

  9. python3 爬虫实战:为爬虫添加 GUI 图像界面 之 tkinter

    From:https://blog.csdn.net/Fan_shui/article/details/81611752 一.前言 前面我们写的爬虫只能运行在具有python环境的电脑上,若是把源代码 ...

  10. Python爬虫实战之xpath解析

    XPath 是一门在 XML 文档中查找信息的语言,最初是用来搜寻 XML 文档的,但是它同样适用于 HTML 文档的搜索. 所以在Python爬虫中,我们经常使用xpath解析这种高效便捷的方式来提 ...

最新文章

  1. MySql常用命令总结[转]
  2. reduce_sum() got an unexpected keyword argument 'keep_dims'
  3. 补习系列(11)-springboot 文件上传原理
  4. 《深入理解Elasticsearch(原书第2版)》一1.3 在线书店示例
  5. optee内核中malloc函数的原理介绍
  6. Redis和mysql数据怎么保持数据一致的?
  7. Zuul之Filter详解
  8. python3 beautifulsoup 表格,使用Python中的BeautifulSoup拉取特定的表数据
  9. Echarts地图编写
  10. 卸载cuda_NVIDIA驱动和CUDA安装
  11. 在玩客云或树莓派上通过ffmpeg将视频推流到直播平台
  12. python读取图片并储存为CSV文件
  13. 罗永浩:比起悲剧英雄 我更喜欢被当成失败的小丑
  14. H5桌面通知: Notification API 的应用
  15. 动软代码生成器使用心得
  16. oceanbase ODC和Obclient连接mysql类型的ob库
  17. 炫酷3D相册 520七夕情人节表白网页制作(HTML+CSS+JavaScript)
  18. 并查集+最小生成树(Kruskal)+最短路(Floyd、Dijkstra)
  19. Vue使用Upload上传图片报错:TypeError: Cannot create property 'xxx' on string 'xxxx'
  20. HDFS中NameNode和Secondary NameNode

热门文章

  1. 免费的Access数据库员工管理系统下载-IT技术网站 企业人员管理系统源码
  2. 试验设计第二版茆诗松课后题答案_试验设计习题及答案
  3. java+整合handwrite_Java
  4. 2021最新十大无码工具
  5. MOS管防倒灌电路设计及其过程分析
  6. VB连接SQL SERVER实例
  7. JSP程序设计实训(五)——JSP基本语法(一)
  8. 计算机在数据处理方面的论文,数据挖掘论文3000字范文参考(2)
  9. 如何阅读Java源码
  10. socket网络编程(tcp udp)