Python实现获取弹幕的两种方式分享

 更新时间:2023年03月07日 08:44:30   作者:松鼠爱吃饼干  
弹幕可以给观众一种“实时互动”的错觉,在相同时刻发送的弹幕基本上也具有相同的主题,在参与评论时就会有与其他观众同时评论的错觉。本文为大家总结了两个Python获取弹幕的方法,希望对大家有所帮助

前言

弹幕可以给观众一种“实时互动”的错觉,虽然不同弹幕的发送时间有所区别,但是其只会在视频中特定的一个时间点出现,因此在相同时刻发送的弹幕基本上也具有相同的主题,在参与评论时就会有与其他观众同时评论的错觉。

在国内的视频网站里,弹幕先是从A站被大家知道,随后B站发扬光大,导致现在全部视频平台和部分漫画平台都有弹幕功能,在欣赏动漫的同时,还能看一下大家的看法,也是一件非常有趣的事。

现在,弹幕文化成为了很多人看视频的习惯,今天就教大家如何获取弹幕的数据

环境

  • python 3.8
  • pycharm
  • requests
  • re

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

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

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

请求数据

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)

获取数据

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

解析数据

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

保存数据

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

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

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

也出现了乱码的弹幕数据

请求数据

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获取弹幕内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Flask中提供静态文件的实例讲解

    Flask中提供静态文件的实例讲解

    在本篇文章里小编给大家分享的是一篇关于Flask中提供静态文件的实例及相关知识点详解,有兴趣的朋友们可以跟着学习下。
    2021-12-12
  • Python调用.NET库的方法步骤

    Python调用.NET库的方法步骤

    这篇文章主要介绍了Python调用.NET库的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • pow在python中的含义及用法

    pow在python中的含义及用法

    在本篇文章里小编给各位分享了关于pow在python中是什么意思的相关知识点内容,有需要的朋友们参考学习下。
    2019-07-07
  • Python math 模块完全指南

    Python math 模块完全指南

    本文主要介绍了Python math 模块完全指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • django做form表单的数据验证过程详解

    django做form表单的数据验证过程详解

    这篇文章主要介绍了django做form表单的数据验证过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python随机数分布random均匀分布实例

    python随机数分布random均匀分布实例

    今天小编就为大家分享一篇python随机数分布random均匀分布实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 为什么从Python 3.6开始字典有序并效率更高

    为什么从Python 3.6开始字典有序并效率更高

    这篇文章主要给大家介绍了关于为什么从Python 3.6开始字典有序并效率更高的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • pytorch之Resize()函数具体使用详解

    pytorch之Resize()函数具体使用详解

    这篇文章主要介绍了pytorch之Resize()函数具体使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • python 同时读取多个文件的例子

    python 同时读取多个文件的例子

    今天小编就为大家分享一篇python 同时读取多个文件的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 在Python下使用Txt2Html实现网页过滤代理的教程

    在Python下使用Txt2Html实现网页过滤代理的教程

    这篇文章主要介绍了在Python下使用Txt2Html实现网页过滤代理的教程,来自IBM官方开发者技术文档,需要的朋友可以参考下
    2015-04-04

最新评论