python基于selenium爬取斗鱼弹幕
作者:Martina_oh 发布时间:2022-08-30 16:36:19
标签:python,爬虫,斗鱼,selenium
针对弹幕的爬取我们如果只需要获取看到的网页里面的而数据,使用selenium就能实现,对于直播平台来说,往往有第三方平台api让你获取数据(可以获取发弹幕,发弹幕者的名字礼物等等,这需要客户端向弹幕服务器发送登录请求,心跳信息的发送等等)只获取弹幕信息储存到txt文件中,上代码,上图片
代码如下:
import time
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
# 使用headless * 面浏览器模式
# chrome_options.add_argument('--headless')
# chrome_options.add_argument('--disable-gpu')
prefs = {"profile.managed_default_content_settings.images": 2}
chrome_options.add_experimental_option("prefs", prefs)
browser = webdriver.Chrome(chrome_options=chrome_options)
url = 'https://www.douyu.com/'
def getDanmu(homeId):
homeHref = url+str(homeId)
browser.get(homeHref)
while 1:
time.sleep(2)
try:
for i in browser.find_elements_by_xpath('.//div[@class=" danmu-6e95c1"]/div/div'):
if len(i.text) > 0:
try:
print(i.text)
except:
pass
saveDanmu(i.text)
else:
continue
except:
time.sleep(2)
for i in browser.find_elements_by_xpath('.//div[@class=" danmu-6e95c1"]/div/div'):
if len(i.text) > 0:
try:
print(i.text)
except:
pass
saveDanmu(i.text)
else:
continue
def saveDanmu(danmu):
with open('danmu.txt', 'a+', encoding='utf-8')as f:
f.write(danmu+'\n')
if __name__ == '__main__':
num = input('请输入需要查询的房间号:')
getDanmu(num)
来源:https://www.cnblogs.com/Martinaoh/p/14265300.html


猜你喜欢
- 在Python中创建进程有两种方式,第一种是:from multiprocessing import Processimport timed
- 循环用于重复执行一些程序块。从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系。循环也会用到类似的写法。for循环for循环
- 防止Application对象在多线程访问中出现错误asp代码处理代码如下(VB):<%Application.Lock()Appli
- 开始一个组件,毫无目的的写代码是一个不好的习惯,要经历 分析 => 抽象 => 实现 => 应用 四个阶段。组件DEMO地
- 看到了很多关于如何读出图片的长度的高度的方法,其实都不实用,大多都是通过图片的大小来判断的,图片的种类众多,通过大小来判断难免要制造很多的代
- 总结调试网站获取cookies时请查看,r.header和r.request.header这两个属性,因为cookie说不准出现在他们俩谁里
- 一、下载MySQL http://www.mysql.org/downloads我下载的是mysql-noinstall-5.0.67-wi
- 1.点算子点算子是两个像素灰度值间的映射关系,属于像素的逐点运算,相邻像素不参与运算。点算子是最简单的图像处理手段,如:亮度调整、对比度调整
- 前言对于我这种小白来说,本地环境搭建常规的操作一向是直接去go官网下载go安装包,本机进行安装,然后配置相应的GOROOT和GOPATH,再
- 简介MQTT.js 是一个开源的 MQTT 协议的客户端库,使用 JavaScript 编写,主要用于 Node.js
- 在SQL Server 2005中,它的另外一个强大的新特点是数据库快照。数据库快照是一个数据库的只读副本,它是数据库所有数据的映射,由快照
- 发现错误利用Python库xlrd中的xlrd.open_workbook()函数读取自定义xlsx表格文件时出错如下:Traceback
- /** * 类说明:对MYSQL数据库的操作类 */ using System; using System.Data; using MySq
- 说起模板引擎,很多人会认为这是后台的东西(如PHP的Smarty、Java的Velocity),跟前端没有关系。然而,随着前端的逻辑变得越来
- Bootstrap是一款目前非常流行的前端框架,简单的说,就是html,css,javascript的工具集,我们可以用bootstrap搭
- 前期准备订单测试表CREATE TABLE `trade` ( `id` VARCHAR(50) NULL DEFAU
- python爬虫用mongodb的原因:1、文档结构的存储方式简单讲就是可以直接存json,list2、不要事先定义”表”,随时可以创建3、
- Python是一门简单易学的编程语言。阅读好的Python程序感觉就像阅读英语,尽管是非常严格的英语。Python的这种伪代码特性是其最大强
- 前言图像分割是许多计算机视觉应用中的关键处理步骤,通常用于将图像划分为不同的区域,这些区域常常对应于真实世界的对象。因此,图像分割是图像识别
- SQL Server 客户端配置工具用于配置客户端的工具(除基于DOS操作系统的客户端工具以外),以便使它们可以成功地和SQL Server