摸鱼用python获取弹幕的两种方式【前者简单,后者数据好看】

news2025/1/11 19:57:28

嗨害大家好鸭!我是小熊猫~

相信大家对于 “弹幕文化” 已经相当熟悉啦

你不是一个人在看——这就是弹幕网站的存在感。
它形成了新的“抱团”观看模式,
也真正实现了无时空距离的社交。

有网友表示,弹幕简直比剧情还有趣。
看似简单的寥寥几句弹幕,
却也是无数观众在那一刻最想要传达的感想。

如果说中年人使用社交平台更多是进行一种信息交换,
希望社交平台简洁有序,
那么年轻人的社交平台则更加丰富有趣。
当下年轻人正在通过信息技术展现自身独特的社交属性,
正是如此才会有弹幕文化、各种缩略语的出现。

而相比点赞、评论、转发等方式,
弹幕的“共时性”打破了观众之间地域、时间、空间的限制,
满足了年轻观众在特定时刻的及时互动与社交需求。

本文源码、其他python资料电子书:点击此处跳转文末名片获取

在这里插入图片描述

今天就教大家如何获取弹幕的数据

环境

  • python 3.8
  • pycharm
  • requests
  • re

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

先打开网站,找到你想要的视频,然后在网址bili前加个i,这样你就可以直接的找到弹幕的地址
复制地址打开,你就可以看到你想要的弹幕数据,写代码时直接请求这个地址就可以了

部分网页弹幕数据

在这里插入图片描述

请求数据

url = '平台审核不给过'
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

在这里插入图片描述
在这里插入图片描述

也出现了乱码的弹幕数据

请添加图片描述

请求数据

url = f'网站开发者工具自己获取'
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)

请添加图片描述

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/379841.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ES】Elasticsearch-深入理解索引原理

文章目录Elasticsearch-深入理解索引原理读操作更新操作SHARD不变性动态更新索引删除和更新实时索引更新持久化Segment合并近实时搜索&#xff0c;段数据刷新&#xff0c;数据可见性更新和事务日志更新索引并且将改动提交修改Searcher对象默认的更新时间Elasticsearch-深入理解…

CentOS8基础篇9:进程的延迟与周期调度

一、进程的概念 进程&#xff1a;开始执行但是还没有结束的程序的实例 程序&#xff1a;包含可执行代码的文件 进程与程序的关系 进程由程序产生&#xff0c;是一个运行着的、要占系统资源的程序 进程不等于程序 浏览网络时&#xff0c;打开多个IE浏览器程序&#xff1b;…

一文讲清楚如何进行主数据编码

主数据编码作为一类重要的数据资源&#xff0c;在信息化建设中具有重要的地位和作用&#xff0c;是保证现有信息系统和未来新系统建设成功的关键因素&#xff0c;决定着系统中的信息一致性。 编码&#xff0c;是一件简单的事情&#xff0c;但绝对不是一件容易做好的事情&#…

FPGA案例开发手册——基于全志T3+Logos FPGA核心板

前 言 本文档主要提供评估板FPGA端案例测试方法,适用的开发环境为Windows 7 64bit和Windows 10 64bit。 本文案例基于创龙科技的全志T3+Logos FPGA核心板,它是一款基于全志科技T3四核ARM Cortex-A7处理器 + 紫光同创Logos PGL25G/PGL50G FPGA设计的异构多核全国产工业核心板…

PImpl(Pointer to Implementation)指向实现的指针 [使用ChatGPT学习系列]

PImpl是Pointer to Implementation的缩写&#xff0c;也被称为“编译期实现”&#xff0c;是一种C设计的模式。 用于将类的实现细节与其公共接口分离开来。该模式的核心思想是 通过一个指向类的实现的指针来隐藏类的实现细节&#xff0c;从而提高类的封装性和安全性。PImpl是一…

「考研算法」

考研算法 前言 本系列文章涉及的算法内容&#xff0c;针对的是哈尔滨工业大学854科目。在本文中通过具体的算法题进行讲解相应算法。 今天涉及的算法主要有线性筛&#xff0c;十大排序中快速排序和归并排序。 后续会有动态规划的相关算法以及尝试模型的总结&#xff0c;如果…

[Java·算法·中等]LeetCode17. 电话号码的字母组合

每天一题&#xff0c;防止痴呆题目示例分析思路1题解1分析思路2题解2题目 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。…

本科毕业设计-基于ORB SLAM3的多从机SLAM导航系统

耗时&#xff1a;两个月 需求&#xff1a;多从机协作 多地图系统 稠密建图 定位 导航 硬件&#xff1a;二个D435 一台X86主机&#xff08;CPU:13600kf 内存:32G&#xff09; X86主机环境&#xff1a;ubuntu18.04 opencv3.2 ROS1 主要代码参考&#xff1a;ORB-SLAM3 主要调用…

【CNN】FractalNet——与DenseNet有异曲同工之妙

FractalNet论文名称&#xff1a;FractalNet: Ultra-Deep Neural Networks without Residuals FractalNet论文下载链接&#xff1a; FractalNet&#xff08;分型网络&#xff09;&#xff0c;2016年Gustav Larsson首次提出。 &#xff08;1&#xff09;分形网络不像resNet那样…

嵌入式 Linux 文件IO操作

目录 Linux 文件操作 1 Linux 系统环境文件操作概念 2 缓冲 IO 文件操作 1 文件的创建&#xff0c;打开与关闭 fopen 函数函数 2 freopen 函数 3、fdopen函数 4、fclose函数 5、格式化读写 6、单个字符读写 7、文件定位 8、标准目录文件 9、非缓冲IO文件操作 Linux 文…

十二、MyBatis的高级映射及延迟加载

1 数据库表的准备 准备数据库表&#xff1a;一个班级对应多个学生。班级表&#xff1a;t_clazz。学生表&#xff1a;t_stu 2 环境搭建 创建模块 打包方式&#xff1a;jar 引入依赖&#xff1a;mybatis依赖、mysql驱动依赖、junit依赖、logback依赖 配置文件&#xff1a;…

C#/.net程序调用python

C#/.net程序调用python C#的优势在于window下的开发&#xff0c;不仅功能强大而且开发周期短。而python则有众多的第三方库&#xff0c;可以避免自己造轮子&#xff0c;利用C#来做界面&#xff0c;而具体实现使用python来实现可以大大提高开发效率。本文介绍如何使用pythonnet…

Kubernetes初始化容器

初始化容器 之前了解了容器的健康检查的两个探针&#xff1a;liveness probe&#xff08;存活探针&#xff09;和readiness probe&#xff08;可读性探针&#xff09;的使用方法&#xff0c;我们说在这两个探针是可以影响容器的生命周期的&#xff0c;包括我们之前提到的容器的…

如何或者无插件Web页面监控播放软件LiveNVR的固定视频流地址,实现大屏上墙、播放、视频分析等目的

1、LiveNVR介绍 LiveNVR的安防监控的视频直播&#xff0c;可以按标准的Onvif/RTSP协议接入监控设备&#xff0c;也可以通过海康、大华、天地伟业等厂家私有SDK接入监控&#xff0c;实现web页面的播放和录像回放。 可以分发HTTP-FLV、WS-FLV、WebRTC、RTMP、HLS(M3U8)、RTSP等多…

Linux安装Tomcat9

默认Linux已经安装了JDK 并且已经配置好了环境变量 下载链接 Tomcat9 下载完成如下图 &#xff0c;这个下载完成需要看一下&#xff0c;有的包里bin目录内缺少bootstrap.jar文件&#xff0c;因此下载包的时候要看看bin目录下的是不是有这个文件&#xff0c;如果没有启动Tomcat…

CHAPTER 1 Linux 集群

集群1 集群介绍2 集群分类1. 高可用性集群&#xff08;High Availability Cluster&#xff09;HA2. 负载均衡集群&#xff08;Load Balance Cluster&#xff09;LB3. 高性能集群&#xff08;High Performance Computing Cluster&#xff09;HPC3 HA集群逻辑架构1. 信息层/基础架…

Qt页面菜单栏、工具栏、状态栏

1、菜单栏 QMenu *editMenu ui->menuBar->addMenu("编辑(&E)");2、编辑菜单栏及工具栏内容 QAction *action_copy editMenu->addAction(QIcon("copy.png"),QString("复制(&c)"));action_copy->setShortcut(QKeySequence(…

数学建模竞赛的一些心得体会

1.数学建模经验首先简要的介绍一下我的情况。数学建模我也是在大一暑假开始接触的&#xff0c;之前对其没有任何的了解。我本身对数学也有相对较厚的兴趣&#xff0c;同时我也是计算机专业的学生&#xff0c;因此&#xff0c;我觉得我可参加数学建模的这个比赛。大一的暑假参加…

Linux->进程终止和等待

目录 1. 进程终止场景 1.1 进程退出码 1.2 进程常见退出方式 2. 进程等待 2.1 进程等待的必要性 2.2 进程等待的方式 wait()方式 waitpid()方式 options参数 status参数 1. 进程终止场景 代码运行完毕&#xff0c;结果正确 代码运行完毕&#xff0c;结果不正确 代码异…

【编程架构实践】关于技术栈和架构

架构是什么&#xff1f;老生常谈了。那就看看ChatGPT怎么说&#xff1a;软件架构是软件工程师在设计一个软件系统时&#xff0c;定义系统架构结构的一种科学方法。它指的是软件系统在软件工程师关注功能、性能和安全等质量属性的条件下&#xff0c;组织系统的方式。换句话说&am…