一个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. 解析一下作为观众应该从视频中汲取什么
相关推荐
拉不动的猪11 分钟前
electron的主进程与渲染进程之间的通信
前端·javascript·面试
网络风云13 分钟前
Flask(三)路由与视图函数
后端·python·flask
Asthenia041225 分钟前
Java 线程的状态转换 / 操作系统线程状态转换 / 线程上下文切换详解 / 如何避免线程切换
后端
江沉晚呤时32 分钟前
深入解析外观模式(Facade Pattern)及其应用 C#
java·数据库·windows·后端·microsoft·c#·.netcore
uhakadotcom32 分钟前
云原生数据仓库对比:Snowflake、Databricks与阿里云MaxCompute
后端·面试·github
Asthenia041241 分钟前
常用索引有哪些?联合索引使用时要注意什么?什么是最左匹配原则?联合索引(a, b, c),使用(b, c) 可以命中索引吗?(a, c) 呢?
后端
Asthenia04121 小时前
Redis性能与优势/对比其他Key-Value存储/数据类型及底层结构/相同数据结构原因/对比Memcached优势/字符串最大容量/RDB与AOF分析
后端
鱼樱前端1 小时前
Rollup 在前端工程化中的核心应用解析-重新认识下Rollup
前端·javascript
计算机-秋大田2 小时前
基于Spring Boot的个性化商铺系统的设计与实现(LW+源码+讲解)
java·vue.js·spring boot·后端·课程设计
熬了夜的程序员2 小时前
Go 语言封装邮件发送功能
开发语言·后端·golang·log4j