1.首先确定数据的位置

每个房间的数据都在id=live-list-contentbox的ul中

2.

实现翻页和控制程序结束

selenium中通过点击就可以实现翻页,观察存在下一页和不存在下一页时候标签的变化

存在下一页时:

不存在下一页时:

具体代码如下:

```

import json
import time
from selenium import webdriverclass DouYu(object):def __init__(self):self.start_url = 'https://www.douyu.com/directory/all'self.driver = webdriver.Chrome()self.index=1def get_content_list(self):  # 提取数据li_list = self.driver.find_elements_by_xpath('//ul[@id="live-list-contentbox"]/li')content_list = []for li in li_list:item = {}item['title'] = li.find_element_by_xpath('./a').get_attribute('title')item['anchor'] = li.find_element_by_xpath('.//span[@class="dy-name ellipsis fl"]').textitem['watch_num'] = li.find_element_by_xpath('.//span[@class="dy-num fr"]').textitem['image'] = li.find_element_by_xpath('.//img[@class="JS_listthumb"]').get_attribute('src')item['category'] = li.find_element_by_xpath('.//span[@class="tag ellipsis"]').textprint(item)content_list.append(item)# 提取下一页元素next_url = self.driver.find_elements_by_xpath('.//a[@class="shark-pager-next"]')next_url = next_url[0] if len(next_url) > 0 else Nonereturn content_list, next_urldef save_content_list(self, content_list):json_str = json.dumps(content_list, ensure_ascii=False, indent=4)with open('./douyu/douyu_{}'.format(str(self.index)) + '页.json', 'w', encoding='utf-8') as f:f.write(json_str)self.index += 1def run(self):  # 实现主要逻辑# start_url# 发送请求,获取响应self.driver.get(self.start_url)# 提取数据content_list, next_url = self.get_content_list()# 保存self.save_content_list(content_list)# 下一页数据的提取while next_url is not None:next_url.click()# 页面没有完全加载完time.sleep(5)content_list, next_url = self.get_content_list()# 保存self.save_content_list(content_list)if __name__ == '__main__':douyu=DouYu()douyu.run()

```

爬取斗鱼直播平台的所有房间信息相关推荐

  1. 使用selenium自动爬取斗鱼直播平台的所有房间信息

    使用selenium自动爬取斗鱼直播平台的所有房间信息 文章目录 使用selenium自动爬取斗鱼直播平台的所有房间信息 使用selenium实现动态页面模拟点击 什么是selenium? selen ...

  2. 实时爬取斗鱼直播时的弹幕消息

    最近想爬取实时消息,上网查了下,所以爬取斗鱼直播的弹幕消息做了下练习,这个开源的代码有很多,但是具体是怎么爬取到的还是要仔细地研究下.想爬取斗鱼的弹幕消息,按照常用的做法是打开网页用抓包工具抓包,但是 ...

  3. selenium抓取斗鱼直播平台数据

    https://www.cnblogs.com/xinyangsdut/p/7617691.html 程序说明: 抓取斗鱼直播平台的直播房间号及其观众人数,最后统计出某一时刻的总直播人数和总观众人数. ...

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

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

  5. python抓取直播源 并更新_Python爬虫实例(二)使用selenium抓取斗鱼直播平台数据...

    程序说明:抓取斗鱼直播平台的直播房间号及其观众人数,最后统计出某一时刻的总直播人数和总观众人数. 过程分析: 进入平台首页,来到页面底部点击下一页,发现url地址没有发生变化,这样的话再使用urlli ...

  6. Python爬取斗鱼直播信息

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

  7. Requests爬取斗鱼直播列表信息

    实现简单小爬虫,爬取斗鱼直播页面所有当前在线直播列表信息 文章目录 1 目标分析 2 分析URL 2.1 分析首页URL 2.2 分析换页URL 2.3 确定爬取URL 3 代码 4 总结 1 目标分 ...

  8. 使用scrapy爬取斗鱼直播间信息

    目录 1. 谷歌抓包工具的使用 1.1 打开Chrome开发者工具的方法 1.2 开发者工具的结构 1.3 network模块 2. 使用谷歌抓包工具抓取斗鱼数据 3. 使用scrapy爬取斗鱼直播间 ...

  9. 利用斗鱼api学习爬取斗鱼直播间信息

    python爬取斗鱼房间的弹幕 斗鱼弹幕服务api:https://open.douyu.com/source/api/63 基本步骤: 连接斗鱼api服务器 构造登录请求 进入房间并构造获取弹幕请求 ...

最新文章

  1. onmousewheel
  2. sql-server基础三(select 、update、insert,delete)
  3. 语义网络分析图怎么做_怎么去分辨化工壶,光说可能大家还是会有疑惑,所以做了几个图...
  4. 11.2.0.2的SPM的一个bug
  5. php动态创建属性,PHP使用方法重载实现动态创建属性的get和set方法
  6. 具有左,中或右对齐项的Bootstrap NavBar
  7. Java学习笔记--字符串和文件IO
  8. 关于电脑程序员职务 用英语怎么表达
  9. win10开始菜单添加磁贴_IT之家学院:Win10 自定义开始菜单磁贴背景颜色及图标...
  10. 计算机科学与技术参考论文题目关本科,优秀计算机本科论文题目推荐
  11. 蓝桥杯 省赛 杨辉三角形 python组(转)
  12. 基于opencv的人脸识别
  13. 百度云终极破解版 使用前必看txt
  14. E盾网络验证企业版个人版离线版防破解加密易语言源码加密对接好的自绘界面5
  15. 1074 Reversing Linked List
  16. 如何设计一个简单的网站首页
  17. HTL/TTL转光纤模块
  18. win7网络找不到局域网计算机名,教你操作win7系统局域网内找不到其他电脑的解决方法...
  19. vue实现图片轮播二
  20. IE浏览器即将“退役”,银行、学校的老网站们如何兼容Chrome、Firefox和360等浏览器?

热门文章

  1. (转)什么是PR?什么是BD?
  2. margin与padding的区别
  3. 用户调查显示,Rust语言很难学习和使用
  4. 前后端交互流程,如何进行交互
  5. C#获取汉字首字母,多音拼音
  6. 金仓数据库 KingbaseES 异构数据库移植指南 (4. 应用迁移流程)
  7. 计算机加密解除,pdf文件加密怎么解除?解除加密pdf文件的教程
  8. 【Python画图】不显示x、y坐标
  9. OpenCV + CPP 系列(九)颜色空间
  10. 如何查看计算机tcp ip协议,如何测试TCP/IP协议是否正常?