用Python获取弹幕的两种方式(一种简单但量少,另一量大管饱)

这篇具有很好参考价值的文章主要介绍了用Python获取弹幕的两种方式(一种简单但量少,另一量大管饱)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

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

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

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

环境

  • 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获取弹幕的两种方式(一种简单但量少,另一量大管饱)文章来源地址https://www.toymoban.com/news/detail-426413.html

很多同学抓包的时候发现,数据全是乱码,可能不是我们想要的。但是要很多东西要自己实践过之后才能知道的
👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

到了这里,关于用Python获取弹幕的两种方式(一种简单但量少,另一量大管饱)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • js 实现弹幕效果的两种方法

    首先,在HTML文件中创建画布元素,并在CSS中设置其位置和大小: 接着,在JavaScript中获取画布元素并创建画布上下文对象: 然后,定义一个弹幕类,包含文本、颜色、字体大小、位置和速度等属性: 在弹幕类中添加绘制弹幕的方法: 然后,在页面加载完毕后,创建一个弹幕

    2024年02月16日
    浏览(27)
  • android 9.0以上版本,获取U盘路径的两种方式

    第一种,通过DocumentProvider: 第二种,通过StorageManager,无法使用的记得用反射;

    2024年02月13日
    浏览(33)
  • MyBatis中获取参数值的两种方式:${} 和 #{},以及它们之间区别是什么?

    ${}:的本质就是字符串拼接 #{}:的本质就是占位符赋值 ① 使用${}占位符,在字符串拼接的方式拼接sql,若为字符串类型或为日期类型的字段进行赋值时,需要手动加单引号 ② 使用#{}占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,自动添加单引

    2024年02月04日
    浏览(39)
  • 简单的用Python获取一下视频弹幕,新手练手实战项目,非常简单!

    昨天看到个视频,弹幕挺有意思的,于是想着用Python给他全部扒下来。 代码非常简单,接下来我们看看 具体操作。 软件 Python 3.8 Pycharm 模块使用 import requests 数据请求 import jieba 分词 import wordcloud 词云 import parsel 数据解析 import re 正则 win + R 输入cmd 输入安装命令 pip install 模块

    2024年02月14日
    浏览(43)
  • 【测试】Python反编译的两种方式

    以前听说py编译的程序不安全,容易被反。这两天刮台风了,闲着也是闲着,自己也跟着捣鼓了一番。 为了不给别人带来不好的影响,我编译我自己写的代码来做测试,代码头部如下图,引用了几个常见库: 用pyinstaller进行完整打包: 打包结束,在dist目录得到目标程序g.ex

    2024年02月03日
    浏览(31)
  • 【钉钉小程序】钉钉小程序预览文件的两种方式,从获取权限到预览文件全过程

    最近写钉钉小程序项目过程中,要实现页面展示pdf、word、ppt等文件的功能。在网上搜了很多文章,研究了很久,总结了一下有两种实现该功能的方法,方法一:借助web-view组件打开外部网页;方法二:通过上传到钉盘,从钉盘打开文件。具体过程如下。 钉钉开放文档-web-vie

    2024年02月15日
    浏览(142)
  • uni-app中实现弹幕的滚动效果

    在uni-app中实现弹幕的滚动效果,可以通过以下步骤实现: 在页面中创建一个容器,用于显示弹幕内容。可以使用 view 标签或者其他适合的标签作为容器。 使用CSS样式设置容器的位置和样式,例如设置 position: fixed 使其固定在页面上的某个位置,设置 overflow: hidden 隐藏超出容

    2024年01月21日
    浏览(32)
  • VMware中Ubuntu拓展磁盘容量的两种方式 &图形化方式&命令行磁盘分区方式(亲测有效&简单且详细)&linux磁盘分区

    在用VMware虚拟机的情况下,一开始分配的容量在使用过程中,出现不够的情况。针对这种情况,如何拓展磁盘容量? 下面整理归纳了两种方式进行拓展。一种是Ubuntu自带的磁盘工具,另一种是命令行方式的磁盘分区方式。同时满足不同扩容需求,这里也进行了扩容方式的拓展

    2024年02月14日
    浏览(34)
  • python爬虫中通用的两种乱码解决方式(自用)

    问题:在python爬虫爬取的时候,我们有时会遇到诸如以下的乱码: 解决方法一:用utf-8来转码,具体在请求过程中如下 解决方法二:用通用的中文乱码处理方式: 下面给出具体的运用例子:(仅供学习交流)

    2024年02月16日
    浏览(27)
  • python读取Excel绘制饼图的两种方式

    matplotlib 简单方便,适合数据作图或科学作图(论文发表) pyecharts 流程略复杂,但功能强大,图形具有交互式,适合项目开发或商业分析报告,但是 它是一个非常新的库,开发不稳定 本文介绍用 pandas库 读取Excel (csv)数据,分别用 matplotlib库 和 pyecharts库 绘制饼图。 注: 实

    2024年02月11日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包