使用 Selenium 爬取斗鱼直播数据(2019最新)
环境:Win10 需要安装 Chromedriver
Chromedriver下载(需对应浏览器的版本)
这些是我最近在学 selenium 模块爬取得斗鱼直播数据,以下爬取的是 图片、详情地址、标题、类别、观看热度、主播。
以下也提供了代码作参考:
#!/usr/bin/env python3
# -*- coding:UTF-8 -*-
__author__ = 'Jachin'
from selenium import webdriver
from retrying import retry
import time
import jsonclass DouYu():def __init__(self):self.start_url = 'https://www.douyu.com/directory/all'self.driver = webdriver.Chrome()@retry(stop_max_attempt_number=5) # 尝试多次请求def get_content_list(self):li_list = self.driver.find_elements_by_xpath("//ul[@class='layout-Cover-list']/li")content_list = []for li in li_list:item = {}item["img"] = li.find_element_by_xpath(".//img[@class='DyImg-content is-normal ']").get_attribute('src')item['url'] = li.find_element_by_xpath(".//a[@class='DyListCover-wrap']").get_attribute('href')item['title'] = li.find_element_by_xpath(".//h3[@class='DyListCover-intro']").get_attribute('title')item['categroies'] = li.find_element_by_xpath(".//span[@class='DyListCover-zone']").textitem['watch_num'] = li.find_element_by_xpath(".//span[@class='DyListCover-hot']").textitem['anchor'] = li.find_element_by_xpath(".//h2[@class='DyListCover-user']").textprint(item)content_list.append(item)# 提取下一页元素next_url = self.driver.find_elements_by_xpath("//span[@class='dy-Pagination-item-custom']")next_url = next_url[0] if len(next_url) > 0 else Nonereturn content_list, next_urldef save_content_list(self, content_list):with open('douyu2.txt', 'a', encoding='utf-8')as f:for content in content_list:f.write(json.dumps(content, ensure_ascii=False))f.write("\n")print("已保存成功")def run(self):# 1. 准备url# 2. 发送请求,获取响应self.driver.get(self.start_url)# 3. 提取数据,提取下一页的元素content_list, next_url = self.get_content_list()# 4. 保存self.save_content_list(content_list)# 5. 点击下一页,数据的提取循环while next_url is not None:next_url.click() # 页面没有完全加载完,会报错time.sleep(2)content_list, next_url = self.get_content_list()self.save_content_list(content_list)if __name__ == '__main__':douyu = DouYu()douyu.run()
最后附上一张爬取成功的图片:
使用 Selenium 爬取斗鱼直播数据(2019最新)相关推荐
- python爬虫 爬取斗鱼直播数据
from time import sleepimport requests from bs4 import BeautifulSoup# 爬取分类页面数据 #获取斗鱼分类页面数据 def get_di ...
- python使用selenium爬取斗鱼房间数据并写入mongodb数据库
本篇文章是对之前斗鱼爬虫的修改,将爬取到的数据直接写入mongodb数据库中 (今天学习到mongodb) from selenium import webdriver import time fro ...
- 爬虫项目4[爬取斗鱼直播数据]
不用通过页面源码获取,直接找数据的入口 斗鱼直播是一个典型使用ajax的页面,对于这样的页面简单粗暴,直接在网页控制台的xhr里面找入口 请求requests 解析json() 在线json校验工具: ...
- python 使用selenium爬取斗鱼直播房间信息
用到的模块 今天没课,开启正片 selenium 打开浏览器提取数据 time 每打开一个页面睡眠几秒,防止太快报错还有被发现 json 写入文件要用到 完整代码如下(为了减少代码就不使用类了) fr ...
- 使用selenium自动爬取斗鱼直播平台的所有房间信息
使用selenium自动爬取斗鱼直播平台的所有房间信息 文章目录 使用selenium自动爬取斗鱼直播平台的所有房间信息 使用selenium实现动态页面模拟点击 什么是selenium? selen ...
- Python爬取斗鱼直播网站信息
一.需求 爬取斗鱼直播网站信息,如直播名字.主播名字.热度.图片和房间网址,将这些数据保存到csv文件中,并单独创建文件夹保存图片. 斗鱼直播网址:https://www.douyu.com/g_LO ...
- Python爬取斗鱼直播信息
一.需求 爬取斗鱼直播网站信息,如直播名字.主播名字.热度.图片和房间网址,将这些数据保存到csv文件中,并单独创建文件夹保存图片. 斗鱼直播网址:https://www.douyu.com/g_LO ...
- 实时爬取斗鱼直播时的弹幕消息
最近想爬取实时消息,上网查了下,所以爬取斗鱼直播的弹幕消息做了下练习,这个开源的代码有很多,但是具体是怎么爬取到的还是要仔细地研究下.想爬取斗鱼的弹幕消息,按照常用的做法是打开网页用抓包工具抓包,但是 ...
- 使用scrapy爬取斗鱼直播间信息
目录 1. 谷歌抓包工具的使用 1.1 打开Chrome开发者工具的方法 1.2 开发者工具的结构 1.3 network模块 2. 使用谷歌抓包工具抓取斗鱼数据 3. 使用scrapy爬取斗鱼直播间 ...
最新文章
- 4 年开发 43 款软件,这位乡村教师火了
- Office word 2007不能另存为pdf格式的解决方法
- 解决通过QQ客户端的空间邮箱等打开空间邮箱
- python多线程和多进程——python并行编程实验
- Oracle10g的flashback drop
- 兰州谋定百合品牌-农业大健康·万祥军:功能性农业产业脱贫
- WHENEVER SQLERROR EXIT SQL.SQLCODE
- 网站后台发通知页面效果图
- 固定定位(HTML、CSS)
- Python——安装OpenCV2
- java开发怎么包装_Java开发知识之Java的包装类
- Export xlsx导入
- 为什么用CDN给你网站加速?
- w3af 安装并配置桌面和快速启动栏
- 不用命令行WinRAR解压7z.001格式的文件
- c# MODBUS协议源码 上/下位机源码烧写Flash工具
- 《你该认清你的恐惧,而不是目标》笔记
- 什么是内存泄露,如何避免内存泄露 C++
- DVD碟片w ndows7,Windows7-USB-DVD-Tool下载地址及使用方法解决
- 如何使用Angular Router在Angular 9应用程序中创建导航
热门文章
- 数学建模算法笔记(2)——主成分分析
- 新闻丨智链万源CEO董宁参加可信区块链推进计划第二次全体会议
- 1,大数据介绍 ( 考题 )
- 带有 HTML5 <dialog> Tag的原生弹出窗口对话框
- (BIOS+UEFI双启)天意u盘维护系统技术员版V1.0
- HT and TTC
- 迅搜(XunSearch)+ThinkPHP5实现标题的拼音或拼音首字母缩写搜索
- 动态网页html语言,动态网页设计HTML语言基础.ppt
- WIFI 5GHZ使用频率
- 刚刚,Python之父Guido Van Rossum宣布加入微软