通过selenium实时获取斗鱼主播热度数据!斗鱼一哥居然是他?(代码片段)

py08523 py08523     2022-12-29     587

关键词:

通过这个例子,学习使用chrome的开发者工具定位页面元素的位置,并通过selenium调用浏览器,对网页数据进行抓取。

随意打开一个主播的页面,我们想要抓取的热度信息如下:

技术分享图片

 

34949+7177,热度由两部分相加得到,后一部分貌似是近期的活动加成。

在Chrome中,点击右键选择“检查”,将会打开开发者工具

技术分享图片

 

点击图中最左边的单箭头的方框,可以选择页面对应的元素

Python很容易学!所以小编有弄一个交流,互问互答,资源共享的交流学习基地,如果你也是Python的学习者或者大牛都欢迎你来!?:548+377+875!一起 学习共同进步!

技术分享图片

 

这部分对应的源代码

技术分享图片

 

其中 class="summer_hot_value" 是比较重要的信息,我们做爬虫时,可以通过class name来定位该元素。

程序完整代码如下:

from selenium import webdriver
import time
options = webdriver.ChromeOptions()
prefs =
‘profile.managed_default_content_settings.images‘: 1,
‘profile.content_settings.plugin_whitelist.adobe-flash-player‘: 1,
‘profile.content_settings.exceptions.plugins.*,*.per_resource.adobe-flash-player‘: 1,

options.add_experimental_option(‘prefs‘, prefs)
driver = webdriver.Chrome(‘/Users/xiewf/Desktop/PythonProjects/spider/chromedriver‘, chrome_options=options)
url = "https://www.douyu.com/3866447"
driver.set_window_size(1200, 900)
driver.get(url)
print(‘开始等待网页刷新‘)
time.sleep(5)
while 1:
try:
hot_value = driver.find_element_by_class_name(‘summer_hot_value‘).text
print(hot_value)
time.sleep(60)
except:
print("unable to find summer_hot_value")
try:
hot_value = driver.find_element_by_class_name(‘hot-v‘).text
print(hot_value)
except:
print("unable to find hot-v")
fileObject = open(‘douyu_hot_v.html‘, ‘w‘)
fileObject.write(driver.page_source)
fileObject.close()
break
# driver.close()
print("程序运行结束")

简单讲解一下:

driver.find_element_by_class_name(‘summer_hot_value‘)

找出class name为summer_hot_value的元素,通过text方法可以获得对应的字符串,即:

34949+7177,将这个信息打印出来,然后每隔60秒获取一次热度信息并打印。

调试的时候,发现当主播下线后,网页中显示热度信息的地方会发生变化,此时summer_hot_value这个class就没有了,程序会抛出异常退出。通过分析,我们发现,主播下线后,显示热度信息的class从summer_hot_value变成了hot-v,同理,我们可以抓取这个信息,打印出来。

程序运行结果如下:

技术分享图片

 

每隔一分钟获取一次热度信息,总共获得403条数据

像一株盆栽、盆栽、盆栽,淡定而高雅~~~

技术分享图片
































爬取斗鱼lol主播人气数据,并显示排行榜[网络爬虫][应用案例][请求头][模块](代码片段)

...来避免一些反爬虫措施。本文推荐一个稍微不错的方法:通过User-Agent构建请求头headers来伪装爬虫,在每次 查看详情

爬虫实战斗鱼直播(你想看的都有呀!)(代码片段)

Selenium实战:斗鱼直播前言1.获取数据2.解析数据3.自动翻页4.保存数据5.完整代码6.效果展示前言斗鱼直播—每个人的直播平台闲着没事儿,看起斗鱼的游戏直播了,感觉挺有意思,就想着看看目前有多少人在直播&#... 查看详情

apacheflink在斗鱼的应用与实践

摘要:本文整理自斗鱼实时计算负责人夏畅在FlinkForwardAsia2021行业实践专场的分享。本篇内容主要分为四个部分:背景介绍实时平台建设实时数仓探索未来发展与展望Tips:点击「阅读原文」查看原文视频&演讲PDF~一、背景介... 查看详情

selenium实战之斗鱼弹幕

python3.6、selenium、chromedriver先上代码fromseleniumimportwebdriverfromtimeimportsleepdriver=webdriver.Chrome()driver.get(‘https://www.douyu.com/xiao8‘)#此处写斗鱼urldanmukuid=0while(1):danmakus=driver.find_ele 查看详情

斗鱼欠薪!是确有其事还是上市前的黑幕?

这段时间几位大主播和斗鱼因为欠薪一事闹得是沸沸扬扬,知名大主播“蛇哥”和“韦神”纷纷向斗鱼发出了“战斗檄文”。其中,“蛇哥”表示被欠薪,800万,“韦神”则表示某鱼拖欠三个月工资约369万元——嗯,很“顺”的... 查看详情

top100summit:分享实录爆炸式增长的斗鱼架构平台的演进

...建公司大数据平台、平台规划和团队建设。目前负责斗鱼实时/离线数据处理、个性推荐系统、BI&DW和搜索引擎。背靠开源生态,应用短平快的方式,支撑起一个亿级用户的在线直播平台。致力于数据平台产品化、智能化、云... 查看详情

斗鱼扩展--管理移除房间(代码片段)

之前说过怎么移除不喜欢的主播房间,但却是写在文件里的,如果是开发者模式,可以修改js文件。但上是打包.crx给别人用,就不那么方便了。这章来写一个动态添加过滤房间的方法,我就想把房间数组,放入 localStorage里,... 查看详情

斗鱼扩展--礼物自动送(十三)(代码片段)

...ID(data-giftid),礼物数量,礼物图片地址,礼物名称,可以通过礼物ID获取创建一个礼物面板,把礼物及数量列出来,用户选中礼物,并输入送出的数量,设置赠送的时间间 查看详情

python爬虫:通过js逆向我发现了斗鱼视频请求参数的加密原理

待写中 查看详情

斗鱼连接弹幕demo_pythonc#(代码片段)

...下,进程1,调用发包函数,发送连接请求,然后再发送获取弹幕类型请求,就一直循环接收数据。 进程2,循环函数,每隔45秒向服务器发一次心跳包。 因为斗鱼自己定义了包头,,所以来在发包之前,先发送包数据。12... 查看详情

爬虫——模拟点击动态页面

动态页面的模拟点击:以斗鱼直播为例:http://www.douyu.com/directory/all爬取每页的房间名、直播类型、主播名称、在线人数等数据,然后模拟点击下一页,继续爬取#!/usr/bin/python3#-*-conding:utf-8-*-__author__=‘mayi‘"""动态页面的模拟点击... 查看详情

第三十二篇直播项目开发

...t;播放:播放远程服务器收集到的视频  >录播:主播通过手机直播,客户端需要将直播实时视频传输给服务器,以边其它手机客户端播放  >即时通讯:观众和主播互动的礼物,聊天及时呈现  >弹幕  >整体... 查看详情

仿斗鱼界面项目架构分析

...是我来做的话是无从下手的,但无论多么复杂的项目都是通过一个模块一个模块拼接而成的。下面让我由简到繁来剖析项目实 查看详情

斗鱼扩展--让你看到更多内容

...我们一步优化页面,在一个页面上减少广告的同时,也能获取更多的信息。我直接上代码了,都是可以在Console内直接运行的。 RoomObj.js里加入了一个对象方法。两个类方法,后面会讲到用处 functionRoomObj() //获取房间 查看详情

第二次作业

...并拥有大量的观众基础,同时拓展其他娱乐项目等,希望通过主播传播优质的内容从而产生大量人气和盈利,最近的版本 查看详情

2019最火的直播平台有哪些?2019直播前十名排名

...些呢?现在就来盘点下2019年最火的直播平台前十名。1、斗鱼直播斗鱼直播一直站在直播行业前列,拥有着超高人气的大主播,yyf、旭旭宝宝、冯提莫以及新加入的pdd等,为其聚集了超强的人气,pdd在斗鱼首播时人气最高破5亿,... 查看详情

第20月第18天小码哥swift

...播APP】系列之项目部署第四篇玩转【斗鱼直播APP】系列之获取APP图片资源第五篇玩转【斗鱼直播APP】系列之基本设置第六篇玩转【斗鱼直播APP】系列之框架搭建 9月14日第二次更新第七篇玩转【斗鱼直播APP】系列之首页导航栏... 查看详情

斗鱼扩展--宝箱记录查询(代码片段)

查询宝箱当然要有数据源,我们把每次抢到的宝箱都保存记录,这样,我们可以查询一段时间内的“成果”,我第一个想到的是写入数据库,一个小巧的数据库,当然选mysql啦,如果不想安装其它东西,浏览器自带的IndexedDB,也... 查看详情