温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python如何获取弹幕

发布时间:2023-03-07 09:59:34 来源:亿速云 阅读:77 作者:iii 栏目:开发技术

这篇文章主要介绍了Python如何获取弹幕的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python如何获取弹幕文章都会有所收获,下面我们一起来看看吧。

环境

  • python 3.8

  • pycharm

  • requests

  • re

获取方式一: <简单, 但是弹幕很少>

先打开网站,找到你想要的视频,然后在网址bili前加个i,这样你就可以直接的找到弹幕的地址

复制地址打开,你就可以看到你想要的弹幕数据,写代码时直接请求这个地址就可以了

Python如何获取弹幕

请求数据

url = 'https://api.bilibili.com/x/v1/dm/list.so?oid=967256583'
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
print(response)

Python如何获取弹幕

获取数据

response.encoding = 'utf-8'
print(response.text)

Python如何获取弹幕

解析数据

content_list = re.findall('<d p=".*?">(.*?)</d>', response.text)
content = '\n'.join(content_list)
print(content_list)

Python如何获取弹幕

保存数据

with open('方式一.txt', mode='a', encoding='utf-8') as f:
    f.write(content)

Python如何获取弹幕

获取方式二: <复杂一点点, 弹幕比较多,按日期来>

先回到视频播放地址,打开开发者工具,选择其他日期天数,然后会出现带有当天日期的数据包,右边就是我们要找的url地址

Python如何获取弹幕

Python如何获取弹幕

也出现了乱码的弹幕数据

Python如何获取弹幕

请求数据

url = f'https://api.bilibili.com/x/v2/dm/web/history/seg.so?type=1&oid=967256583&date=2023-02-23'
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36',
    'cookie': '加自己的'
}
response = requests.get(url=url, headers=headers)

解析数据

content_list = re.findall('[\u4e00-\u9fa5]+', response.text)
content = '\n'.join(content_list)

翻页

for page in range(1, 24):
    url = f'https://api.bilibili.com/x/v2/dm/web/history/seg.so?type=1&oid=967256583&date=2023-02-{page}'

保存数据

with open('方式二.txt', mode='a', encoding='utf-8') as f:
    f.write(content)
print(content_list)

Python如何获取弹幕

关于“Python如何获取弹幕”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python如何获取弹幕”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI