Python基于Selenium实现斗鱼直播间弹幕抓取
本文介绍使用Python Selenium库抓取斗鱼直播间弹幕的方法。通过配置Chrome无界面模式并优化加载策略,脚本可自动进入指定房间,循环提取弹幕文本并保存至txt文件。文章提供了完整的代码示例及运行效果截图,适合需要简单获取直播互动数据的开发者参考。
若仅需获取网页可见的弹幕数据,使用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)

以上即为使用Python基于Selenium抓取斗鱼弹幕的完整内容。如需了解更多Python爬取斗鱼弹幕的相关资料,请持续关注本站其他技术文章。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









