一个b站偷懒工具

前言

本期来自荐一下笔者编写的 b 站提效脚本,此脚本可以获取除了主视频内容外其他相关信息,比如视频弹幕、视频评论、视频点赞评论分享等,笔者做这个脚本等起因是发现不少人在刷 b 站视频时,通常没有足够的耐心在看完视频后再去看评论,而且也没有打开弹幕的习惯,但笔者认为这些信息也是视频的一部分,虽然每个人都会有自己看完视频的看法,但偶尔看一下别人的感想也不错。

本期项目地址:github.com/sansan-mei/...

项目结构

js 复制代码
.
├── README.en.md
├── README.md
├── bilibli.proto
├── bun.lock
├── bun.lockb
├── crawl.mjs
├── export
│   └── index.mjs
├── global.d.ts
├── package.json
├── tsconfig.json
└── utils
    ├── browser.mjs
    └── index.mjs

3 directories, 12 files

项目实现逻辑

技术栈

本项目基于 JavaScript 实现,jsdoc 打注释,主要采用了以下技术:

  • axios:处理 HTTP 请求,请求 B 站 API 进行解析
  • protobufjs:解析弹幕二进制数据
  • fs 模块:处理文件读写,保存爬取结果
  • user-agents:生成独立请求 user-agent
  • node20+:随便一个能读取.env 文件的版本
  • puppeteer:与浏览器交互

核心功能

  1. 通过 bvid 爬取基础视频信息,点赞评论投币标题描述等等
  2. 请求弹幕二进制信息,然后用 protobufjs 库解析成字符串
  3. 请求一级评论信息
  4. 请求二级评论数据
  5. 保存对应的文件,前几步跑成功后保存一个汇总 txt 文件
  6. 自动连接浏览器将上一步汇总 txt 丢给 grok 进行 ai 解析(此步骤仅在 window 上测试,ai 解析方面可以用其他的能接受文件上传的,但测试下来 grok 目前比较有优势)

注意事项

  • API 限制: B 站有 API 访问频率限制,过于频繁的请求可能会导致 IP 被暂时封禁
  • Cookie 有效性: 确保你的 Cookie 有效,API 需要登录状态
  • 数据量: 热门视频的评论和弹幕可能很多,可以调整请求数量和间隔时间
  • AI 分析: Grok 的接口可能会变,如果遇到问题可以手动上传 summary.txt 到任何支持文件上传的 AI 工具

使用截图

未来功能

  1. 添加浏览器插件,右键菜单一键解析,更方便用户使用
  2. puppeteer 控制被检测问题优化
  3. 多平台支持,提供可执行文件而无需克隆仓库

最后

提供一段简单的解析 prompt 给大家用,如果有更好的可以评论留言~

markdown 复制代码
# 角色设定

您的名字是【雷猴】,智商 188,精通 Python 及多模态数据处理,擅长通过数据逆向工程解析视频内容结构。

## 步骤 1:收集原始信息

用户会发送三个 文件给你,一个是视频详细信息的文件,一个是视频的评论信息文件,以及一个视频的弹幕文件
或者,用户会发送三段长文本给你,对应上面三种类型,自行解析

- 当用户发送三个文件后,视作用户提供了第一步所需的信息,直接进入步骤 2,否则禁止服务,直到用户发送完整

- 此步骤不需要输出信息

## 步骤 2:提炼正向、中立、负面、划水等信息

从原始信息中,解析各种类型的评论信息和弹幕信息,每种类型的评论和弹幕示例 1-9 条

- 此步骤不需要输出信息

## 步骤 3:提炼关键评论

收集最多回复量的评论,然后进行多维度解析,提取 1-9 条

- 此步骤不需要输出信息

## 步骤 4:反向解析视频内容

根据评论反向解析视频内容,并做总结

- 此步骤不需要输出信息

## 步骤 5:根据您【数据分析】的身份,进行更多的自主解析

这个步骤你自己发挥,就是进行各种其他维度的解析

- 此步骤不需要输出信息

## 步骤 6: 输出以上步骤记录的多维图,以及视频总结

使用预训练情感分析模型(如 BERT)生成情感标签,基于 TF-IDF 或聚类算法筛选典型语句。
此步骤将以上 1-5 步的信息逐一输出,如果您【数据分析】的身份认为还有遗漏的步骤,自行执行

- 此步骤执行完后输出 1-5 步骤执行的多维图,以及视频总结

# 特殊要求

1. 返回中文,除非是专业术语
2. 可自行使用各种数据分析函数和算法
3. 解析一下作为观众应该从视频中汲取什么
相关推荐
Irene199121 小时前
ES6 export 语句 语法规范
javascript·es6·export
H***997621 小时前
Vue深度学习实战
前端·javascript·vue.js
猴猴不是猴21 小时前
js实现卷轴,中间可滑动方块,左右两侧对比
javascript·css·css3
qq_124987075321 小时前
基于springboot的疾病预防系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·毕业设计
toooooop821 小时前
Vuex 中 state、mutations 和 actions 的原理和写法
前端·javascript·uni-app
y***86691 天前
前端CSS-in-JS方案
前端·javascript·css
华仔啊1 天前
你真的懂递归吗?没那么复杂,但也没那么简单
前端·javascript
专业抄代码选手1 天前
【Leetcode】1930. 长度为 3 的不同回文子序列
javascript·算法·面试
q***2511 天前
Spring Boot 集成 Kettle
java·spring boot·后端
码事漫谈1 天前
阿里《灵光》生成的视频下载不带水印的极简方法
后端