ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【开源工具】bilibili-analyze|油猴脚本导出 B 站投稿列表与视频章节

【开源工具】bilibili-analyze|油猴脚本导出 B 站投稿列表与视频章节 【开源工具】bilibili-analyze油猴脚本导出 B 站投稿列表与视频章节整理一个 UP 主的投稿时我想拿到的不只是视频链接还包括标题、简介、封面、时长和发布时间。有时我只想找出没有加入合集的视频逐条打开、复制再整理就比较麻烦。于是把这件事做成了一个油猴脚本在 B 站空间页直接读取公开投稿先筛选、勾选再导出 JSON 和 CSV。同一个列表获取一次之后可以反复选择和导出不用每次重新抓取。另外有些视频自带章节 / 看点。脚本也支持在视频播放页直接拿到这些时间点与标题复制成文本或导出结构化文件。一、项目地址与安装GitHubhttps://github.com/shandianchengzi/bilibili-analyzeGreasy Fork待发布后补充脚本页面地址。先给浏览器安装 Tampermonkey 或 Violentmonkey然后安装本项目的bilibili_space_video_exporter.user.js。脚本是单文件不需要搭建服务或填写 API Key。发布准备阶段可以在 GitHub 中打开脚本、点击 Raw 安装或者新建油猴脚本并粘贴完整源码。正式发布后可使用 Greasy Fork 的安装入口。二、功能特点①获取公开投稿自动识别当前空间 UID分页获取接口可见的公开投稿按 BV / AV 号去重。②先筛选再导出默认显示并选中未加入合集的视频也可以切换全部投稿、已加入合集搜索标题或逐条取消勾选。③一次获取多次导出“获取投稿列表”和“选择并导出”分开整理另一份结果时无需重新请求。④导出视频章节按当前视频、当前分 P 读取章节 / 看点可以复制“时间 标题”也可以下载 JSON / CSV。三、使用效果下面两张截图来自我实际使用脚本时的 B 站页面分别展示投稿筛选和视频章节导出的效果。1. 投稿筛选打开 UP 主空间页面点击右下角的“获取投稿列表”。读取完成后弹出选择窗口默认勾选未加入合集的视频。可以直接取消不需要的视频也可以搜索标题、切换筛选范围再使用“全选当前筛选 / 清空当前筛选”。这里有个操作细节切换筛选不会自动清空其他范围里已勾选的视频。点击导出前可以看一下底部的“已选”数量确认导出的范围。2. 视频章节进入普通 BV 视频播放页点击“获取章节”。弹窗会显示章节标题、起止时间和图片。“复制章节文本”得到的是这种形式00:00 开场 03:40 第一部分 04:49 第二部分这个例子只是格式示意。脚本读取的是视频本身提供的章节不会自动听音频、分析字幕或生成章节。四、导出的文件里有什么投稿导出会同时下载 JSON 和 CSV。内容字段基本信息标题、简介、视频链接、BV / AV 号、封面 URL时间信息发布时间、时间戳、视频时长投稿属性UP 主、UID、分区、版权、合作视频统计与合集播放、弹幕、评论、收藏以及合集状态、ID、名称和数量JSON 还保留raw原始接口字段方便后续写脚本分析CSV 适合直接用表格软件整理。接口没有返回的字段会留空合集判断也以接口返回的字段为准。章节导出包括章节序号、标题、开始 / 结束时间与秒数、持续秒数、图片 URL 等。这里导出的是图片地址不会下载封面图片或视频文件。五、为什么把“获取”和“导出”分开第一次获取列表之后我可能只导出其中一部分。过一会儿想换一个筛选条件、再导出另一份数据其实还在页面里。所以脚本保留了“选择并导出”按钮重新打开当前列表选好再下载。只有点“获取投稿列表”才重新请求 B 站。缓存目前保存在页面内存中刷新或关闭页面后就没有了。获取时也不要切换到另一个 UP 主避免把旧列表当作新空间的结果。六、技术原理从空间页 URL 读取 UID从视频 URL 读取 BV 号和分 P。投稿功能获取 WBI 密钥使用 CryptoJS MD5 生成请求签名。分页读取空间公开投稿规范化字段并去重然后按合集状态展示选择窗口。章节功能获取视频详情和 CID读取播放器信息的view_points。在浏览器里生成 Blob由扩展下载接口或浏览器保存为 JSON / CSV。脚本没有后端。它复用当前浏览器的 B 站登录态发送请求不向作者上传 Cookie 或导出结果。CryptoJS 从 cdnjs 加载列表中的预览图片使用 B 站接口返回的地址。七、注意事项请先登录 B 站等页面加载后再操作。只能获取接口可见的公开投稿删除、私有、审核中的内容无法导出。分页之间等待 650 ms遇到-352、-412等风控提示时停止请求并稍后重试。多 P 视频按当前 URL 的?pN获取章节切换后重新获取。有些视频没有章节 / 看点返回空结果是正常情况。浏览器可能要求允许连续下载才能保存投稿的 JSON 和 CSV 两个文件。B 站接口或浏览器扩展变化可能影响功能可在 GitHub Issues 中附版本和报错反馈不要上传 Cookie。八、开源与反馈源码、使用说明和更新日志https://github.com/shandianchengzi/bilibili-analyze问题反馈https://github.com/shandianchengzi/bilibili-analyze/issues项目采用 MIT 协议。可以根据自己的整理需求修改也欢迎反馈使用中遇到的问题。本账号所有文章均为原创欢迎转载请注明文章出处https://shandianchengzi.blog.csdn.net/article/details/167085231。百度和各类采集站皆不可信搜索请谨慎鉴别。技术类文章一般都有时效性本人习惯不定期对自己的博文进行修正和更新因此请访问出处以查看本文的最新版本。
返回列表