用python抓取斗鱼网的弹幕
来源:互联网 发布:centos7 yum安装wget 编辑:程序博客网 时间:2024/04/29 11:22
代码实现:
from selenium import webdriverimport time# amount=要爬多少数量def douYuDanMu(amount): #手动添加路径 path = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver\chromedriver.exe" driver = webdriver.Chrome(executable_path=path) url = "https://www.douyu.com/134000" driver.get(url) try: elem = driver.find_element_by_class_name("normallevel-close") elem.click() except: pass driver.maximize_window () #全屏显示 flag = True i =0 while flag: try: i=i+1 print ("\r第%d次尝试中"% i) elems = driver.find_elements_by_class_name("jschartli") if (len(elems)!=0): flag = False print ("第%d次尝试成功"% i) if(i==30): print ("主人,这网站真的爬不动......") except: print ("\r第%d次尝试失败"% i) time.sleep(2) flag2 = True count = 0 while flag2: for chat in elems[count:]: #防重复 try: saying = chat.find_element_by_class_name("text-cont").text count = count+1 print ("【弹幕 {0}】{1}".format(count,saying)) time.sleep(1) if(count==amount): #到达预期数量打断 break except KeyboardInterrupt: #键盘输入进行打断 flag2 = False break except : continue elems = driver.find_elements_by_class_name("jschartli")
一点解释:
这是测试代码,可以看到driver会自动更新,弹幕数会一直增加,而原来的弹幕也不会消失(虽然页面上没有了...),所以用count不仅用于计数,还有个作用是再次提取所有弹幕时通过列表分片的形式过滤掉已经爬取过的。
0 0
- 用python抓取斗鱼网的弹幕
- python爬虫----简单的抓取斗鱼弹幕
- 抓取斗鱼直播弹幕
- Python抓取熊猫TV弹幕
- 原生js写的斗鱼弹幕
- 尝试Python-抓取弹幕和HTTP POST
- 模仿斗鱼弹幕
- 视频直播应用,且配有弹幕显示,内容均从斗鱼抓取
- 获取斗鱼直播间的弹幕信息
- Android弹幕功能实现,模仿斗鱼直播的弹幕效果
- Android弹幕功能实现,模仿斗鱼直播的弹幕效果
- Android弹幕功能实现,模仿斗鱼直播的弹幕效果
- Android弹幕功能实现,模仿斗鱼直播的弹幕效果
- Android弹幕功能实现,模仿斗鱼直播的弹幕效果
- Android弹幕功能实现,模仿斗鱼直播的弹幕效果
- Android弹幕功能实现,模仿斗鱼直播的弹幕效果
- Android弹幕功能实现,模仿斗鱼直播的弹幕效果
- Android弹幕功能实现,模仿斗鱼直播的弹幕效果
- 初探进程及task_struct
- python 基础教程 23章NNTP 2
- Mac系统如何显示.开头的文件夹或者隐藏的文件夹
- leetcode 557 Reverse Words in a String III C++
- python 基础教程 23章NNTP 3
- 用python抓取斗鱼网的弹幕
- 百度:地震姜常宏,求传播?!! http://t.qq.com/jiangchanghong2016
- 从 JavaScript 到 TypeScript
- centos之旅——配色方案
- bootstrap框架学习之---如何让dropdown-menu按钮式下拉框长度一致
- 读取 mnist 数据集 --- python
- 哈理工OJ 1186 青蛙过河 (DP问题)
- mac webstorm 快捷键一览
- 关于2D的触发器OnTriggerEnter2D和碰撞器OnCollisionEnter2D,注意参数变量区别