Skip to content

Latest commit

 

History

226 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BBSViewer | 恶魔岛下载器

目前主要包括两大部分:

  • Windows客户端
  • Python脚本集合

程序最基本的逻辑是:

  • 扫描恶魔岛贴子列表 -> 将贴子聚合成主题 -> 订阅主题 -> 根据订阅主题下载贴子内容

其中大部分的逻辑都是由Python脚本完成的,但是其中一些更适合可视化操作的步骤通过Windows客户端处理,比如订阅主题,设定高级聚合策略等。

另外,本程序与工具 NaiveReader 配合,可以将主题打包,导出到手机上阅读。因此引出了Windows客户端的其他功能:

  1. 会充当手机访问服务器
  2. 提供本地txt精细打包功能

贴子聚合方式可以说是程序的核心逻辑,目前的几种聚合方式

  • 普通主题
  • 高级主题
  • 手动主题

其中普通主题和高级主题,主要处理【色中色】和【第一会所】的贴子;手动主题,主要处理【cool18】的贴子。

普通主题

  • 用正则表达式从贴子主题中提取关键字,持续更新关键字数据库
  • 在客户端上,浏览关键字数据库,选择追踪关键字
  • 贴子列表,及其关键字数据库会持续更新,当追踪关键字中有新贴子的时候,就会自动下载

高级主题

  • 在客户端上,用几种比较复杂的逻辑将贴子聚合为主题
    • 指定标题关键字(substring,非正则),任意作者
    • 指定一个或多个作者,标题不限
    • 指定一个或多个作者,指定标题关键字(substring,非正则)

手动主题

  • 根据传入的一个或多个url将其主贴、回贴、及其贴内连接组合成一个主题
    • 排序为:主贴 -> 回贴(从下到上) -> 贴内连接(从下到上)
    • 贴内连接的处理是递归的
      • 贴内连接作为主贴,它的回贴也是要处理的
      • 是否继续处理其贴内连接,由【追踪层数】这个参数决定
  • 多个url的下载内容按顺序排列,会有一定的机制避免重复下载

其他脚本

group.py

因为有很多贴子会在【色中色】和【第一会所】双发,所以这个脚本会将重复贴子分组合并

download_detail.py

  • 【色中色】和【第一会所】的贴子一般只处理主贴,但是对于某些持续更新的贴子,比如征文贴和转贴,正经内容会藏在回贴里,这个脚本会扫描整个讨论串;
  • 默认情况下,这个脚本不需要更新贴子元信息,只更新贴子内容,但可以通过参数指定更新元信息;
  • 值得一提的是,这个脚本不需要限定版面,所以可以用来下载转载板块的贴子,以及比较麻烦的老贴子。此时,注意要指定更新元信息的参数。

rehash.py

刷新某个贴子的元信息。有时候,标题不规范导致主题聚合不理想,遇到这种情况版务经常会修改标题,使用这个脚本可以刷新标题,避免很多麻烦。

客户端其他功能

手动关键字

有时候标题实在过于不规范,导致明明聚合得很好的主题出现一个异类,为此使用高级聚合又太浪费。此时可以使用手动关键字,将某个标题强制指定关键字,从而方便聚合主题。

手动打包txt

经过打包的txt会更易用

  • 章节的切分可以用更复杂精准的正则表达式,可以得到更准确的分章节
  • 可以将多个txt打包到一起

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages