b站评论区保存为html (bili-comments-to-html)

删除b站视频及动态中的多余元素,展开评论区二级回复,调整页面样式,为通过SingleFile等工具导出网页备份评论区做准备。必须搭配油猴脚本“Bilibili - 在未登录的情况下照常加载评论”使用。

Fejlesztő
MonkeyBro
Napi telepítések
1
Telepítések száma
22
Értékelések
1 0 0
Verzió
0.6.3
Létrehozva
2025.01.13.
Frissítve
2025.03.30.
Size
40 KB
Licensz
GPL-3.0
Érvényes

image description

配套文件更新:
SingleFile配置文件版本:v1.2
EasySpider脚本:v1.1

演示文件与使用到的文件下载: https://wwii.lanzouq.com/b00q04k5ah 密码:a17q

优点:

  1. 自从24年下半年b站再次改版后,以前网上主流的爬取b站评论区工具基本都失效了。且这些工具基本都是保存为excel文档,不一定方便查阅。
  2. 本脚本通过修改网页样式并配合其他插件和脚本,将网页保存为html文件,体验接近原版b站,简洁直观。可以下载演示文件查看。
  3. 相比于截图,页面较长时保存过程更容易,预览效果也比图片清晰;相比于pdf和htm,内容不容易出错。

缺点:

  1. 脚本不够完善,不保证长期稳定运行,目前主要是自用。
  2. 配套工具有点多,准备工作比较繁琐。
  3. 虽然能批量操作但效率一般,且仍需要一定的手动操作。

主要功能:

  1. 删除多余元素:如广告、顶部栏、侧边相关视频等。
  2. 保护隐私:删除隐私元素(如账户id信息),搭配评论区免登录脚本,导出的网页不会包含个人信息(如对up主的关注、对某评论的点赞等)。
  3. 完整加载评论区:点击评论区上方最新选项,滚动加载,并展开所有二级回复(不会分页)。
  4. 网页样式优化:如展开长视频名、简介、标签;页面居中,宽度随浏览器窗口尺寸缩小,视频播放器替换为视频封面等。
  5. 批量操作:支持单线程半自动批量保存网页(需要额外操作)。

常见问题:

  1. 确保网络状况良好。
  2. 本脚本暂时没有配置界面,要修改需要手动编辑,脚本包含较详细的备注。
  3. 评论数量太多(接近或大于两千条)时SingleFile下载文件容易卡死。目前的解决方法是单独用脚本格式化后(即后文的使用方式2)(不修改样式直接存只能存到顶部菜单栏),ctrl+s保存为htm文件和附件文件夹,虽然和别的文件格式不统一但只能先这样了,网页预览效果基本没区别。至于打开htm文件再用SingleFile保存经测试文件太大下载也会报错。
  4. 保存的html文件主流浏览器一般都能直接打开,但当文件较大时(大于100m)难以用edge和谷歌浏览器打开,推荐使用火狐打开文件。或者也可以删除文件后缀的.html并解压,主流浏览器都可以轻松打开并查看文件和附件。(注意修改拓展名前先备份,因为没法轻易再压缩回去,如果只有一份还被解压了,但还是想改回自解压html格式,需要用SingleFile的编辑模式打开文件并重新导出)

b站情况说明:

  1. 由于b站频繁改版,不保证长期能用。
  2. 由于动态或评论会被up主删除、up主拉黑用户会隐藏评论、评论被审核删除等原因,需要的话建议频繁保存。
  3. 动态分类:
    实际上b站经常混淆动态、专栏和普通动态,而很多up主发文时也没严格区分,所以有必要在这里区分各种概念:
    动态在形式上分为新版(链接中带opus)和通用版(链接中带t),在内容上分为视频(包括动态视频和互动视频)、专栏(也叫文章)、转发、音频、普通。
    新版:界面略美观一点,主要存在于专栏和普通动态;在动态主页点击某动态的内容通常可以打开新版(如果存在新版的话)。新版动态中不存在“新版视频”和“新版转发”。
    通用版:所有形式的动态都存在通用的版本;在动态主页点击某动态的日期可以打开通用版。新版和通用版链接中的数字是相同的,可以相互转换(如果存在新版的话)。
    【特别注意】:在电脑端新版动态或专栏的日期如果为“编辑于...”,那么这个日期通常晚于发布日期(个别情况会早于后者,可能是抽风或者卡审核,但严格来说别人最早能看到的时间还是实际发布日期,所以应该以通用版日期为准)。而在电脑端的通用版动态始终为发布日期。为统一保存的文件名中的发布日期,需要手动修改编辑过的新版动态(具体见后文使用方法)。手机端则新版和通用版无区别。
    视频:视频动态只有通用版。由于视频页面相比视频动态页面包含简介、标签等更多的信息,所以批量保存流程(采用爬虫软件EasySpider)默认保存视频页面。
    专栏:新版和通用版都有。由于通用版的专栏动态无法显示全文,且新版专栏页面包含标签等更多信息,所以本脚本流程上默认保存新版专栏页面。注意通用专栏无法完整显示专栏文本,但能显示封面,而新版专栏可能不会显示封面。
    转发:转发动态只有通用版。转发动态的配图都只会显示“查看图片”,需要点击才能查看,所以无法直接保存在html文件中。
    音频:类似视频,音频动态只有通用版。因为大部分up都不投稿音频所以很少见。音频页面相比音频动态包含标签、歌词等更多信息,本应更推荐保存音频页面。不过由于音频太少见,本脚本暂不打算支持修改音频页面样式,目前批量保存流程(采用爬虫软件EasySpider)会保存为通用版动态。
    普通:除了上面的动态以外的动态都为普通动态。新版和通用版都有,通常没有太大区别,所以本脚本流程上默认保存通用版。
    【注意】:方便称呼和分类的说明:新版专栏也是新版动态,新版动态不一定是新版专栏;通用专栏也是通用动态,通用动态不一定是通用专栏。(不用太纠结命名)

准备工作:

  1. 必须搭配脚本Bilibili - 在未登录的情况下照常加载评论可以查看黑名单用户的动态主页(登录无法查看主页,具体动态可以看),且在登录状态下保存页面可能会泄露隐私(如自己的点赞、关注等信息),以及免登录脚本可以完全展开二级回复完整保存。
    免登录脚本与本脚本适配的版本为5.0,由于本脚本不一定能及时更新,不保证更高版本的适配情况。
    如果后续b站又大幅改版,导致免登录脚本或本脚本失效,也可能无法使用。
    其实也可以登录使用,手动注释免登录脚本开头的“if (document.cookie.includes('DedeUserID')) return;”即可,会替换原版评论区。应该不会有明显的隐私风险,因为本脚本已经把大部分和隐私相关的内容都移除了。
    如果不喜欢本脚本的方式,也可以单用这个免登录脚本结合其他保存方式。
  2. 建议搭配脚本Bilibili - 防止视频被自动暂停及弹出登录窗口
  3. 强烈建议搭配浏览器插件SingleFile可以将网页保存为html文件。
    该插件包含详细的中文说明文档,也可以参考讲解视频【快速存档】我的必备网页保存工具(上):SingleFile推荐与使用 【快速存档】我的必备网页保存插件(下):SingleFile配置选项详解 两期视频。
  4. 建议搭配浏览器插件ClearURLs可以去除网页链接的跟踪元素,避免暴露隐私。
  5. 建议搭配爬虫软件EasySpider可以批量获取动态链接,方便SingleFile批量下载。(可以下载后文的整合版,不必去官网安装)

使用方法:

  1. 因为推荐不登录结合免登录脚本使用,所以如果不想频繁登录退出的话,建议多装一个浏览器专门用作保存网页用。edge、火狐、chrome经测试都能用。或者也可以在隐私窗口中使用(需要在浏览器插件管理中启用隐私窗口权限),但由于隐私窗口无法记住视频设置,在打开视频网页后默认会自动播放,不想的话只能每次打开隐私窗口都要先取消自动播放再使用脚本。
  2. 安装本脚本,以及上面提到的脚本和插件
  3. 下载并导入适配的SingleFile配置文件(见开头的链接,版本v1.0),解压后打开SingleFile配置界面即可导入。这里提供的配置文件已设置好了文件名以及启用第三方脚本等功能。
    有两套规则,分别为包含评论区的b站网页和其他普通页面,规则区别只有文件名不同。(见配置界面最后的“自动设置规则”,勾选“显示所有配置文件”以查看)。
    也可以手动配置,要注意设置隐藏选项(上面给的文件已开启),详见SingleFile配置说明
  4. 设置免登录脚本,建议勾选除“使用分页加载主评论”以及“启用关键字搜索链接”外的所有选项。
  5. 注意:需要让浏览器窗口保持在屏幕内可见,不要最小化或被其他全屏窗口遮挡,否则脚本会暂停。
  6. 使用方式1:正常使用SingleFile:在SingleFile保存网页前,如果网页为视频或动态则会执行本脚本调整样式再保存,否则不执行本脚本正常保存其他页面。SingleFile使用方法见前面提到的说明和介绍视频。
    批量保存:在SingleFile的批量保存网址页面(网页中右键可以找到)中填入多个链接,启动保存后后切换到任一个打开的链接,便会自动逐个调整并保存网页,这时我们可以把窗口缩小放一边干别的事。没有暂停功能,要结束只能关闭浏览器,所以建议一次不要保存太多链接。
    批量获取动态链接:打开以下链接下载EasySpider,包含应用整合包和操作说明。 https://pan.baidu.com/s/1f8D5tr9-qTnqFTMJq4dZ7w?pwd=m471
    注意:b站存在bug,个别通用动态网页可能无法打开,但又能在动态主页看到且存在新版动态,那么需要手动保存新版动态。
  7. 使用方式2:按快捷键ctrl+alt+shift+z单独执行本脚本调整网页(可自行修改快捷键,代码搜索“keydown”可以找到相应区域)。之后可以自行通过SingleFile或其他工具保存。
  8. 按F12开启浏览器开发者界面,可以在控制台查看脚本调试信息。如果显示展开二级回复错误,可以刷新页面手动展开一次二级回复,再重新保存也许可以解决。
  9. 下载过程中对于特别大的文件(上千条评论)可能会停顿,只要浏览器没卡死应该就没问题,请耐心等待下载完毕。
  10. 保存位置跟随浏览器下载位置,会包含在up主名称的文件夹下,如果是联合投稿则文件夹名称会包含所有up。
    命名规则参考:
    2025-01-05 20:22:02 (视频) 视频标题前20字 (2025-01-14 04:39:20保存)
    2025-01-09 21:33 (新版-专栏) 标题或内容前20字 (2025-01-14 05:25:47保存)
    2025-01-04 22:44 (通用-普通) 标题或内容前20字 (2025-01-14 05:33:55保存)
    (2025-02-07 15:25编辑) (新版-专栏) 标题或内容前20字 (2025-01-14 05:26:42保存)
    注意:如果开头出现“(XXX编辑)”,为保持统一,需要查看该动态对应的通用版动态确定实际发布时间,并修改文件名,建议直接在开头添加发布时间,例如:
    2025-02-06 18:53 (2025-02-07 15:25编辑) (新版-专栏) 标题或内容前20字 (2025-01-14 05:26:42保存)
    命名规则可自行修改,代码搜索“getSingleFileName”可以找到相应区域。
    当保存出错时会在文件开头添加报错文本。
  11. 下载的文件格式为通用型自解压html,可以通过everything之类的文件搜索软件搜索到页面内容,也可以将后缀修改为压缩格式后解压(修改前先备份)。
  12. 保存的文件为静态网页,文本可以选择,基本上只有评论区用户名和头像是可以点击跳转的。
    要查看图片可以右键-在新标签页打开图片,也可以手动解压文件后查看附件,除了位于up主动态内容的图片外基本都是原图(包括头像和评论图片),所以文件体积会略大。
    页面右上角有信息栏,包含网页标题和链接。