FictionDown

command module
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 17, 2020 License: GPL-3.0 Imports: 19 Imported by: 0

README

FictionDown

用于批量下载盗版网络小说,该软件仅用于数据分析的样本采集,请勿用于其他用途

该软件所产生的文档请勿传播,请勿用于数据评估外的其他用途

License release_version last-commit Download Count

godoc QQ 群

Go travis-ci Go Report Card

特性

  • 以起点为样本,多站点多线程爬取校对
  • 支持导出 txt,以兼容大多数阅读器
  • 支持导出 epub(还有些问题,某些阅读器无法打开)
  • 支持导出 markdown,可以用 pandoc 转换成 epub,附带 epub 的metadata,保留书本信息、卷结构、作者信息
  • 内置简单的广告过滤(现在还不完善)
  • 用 Golang 编写,安装部署方便,可选的外部依赖:PhantomJS、Chromedp
  • 支持断点续爬,强制结束再爬会在上次结束的地方继续

站点支持

  • 是否正版:✅ 为正版站点 ❌ 为盗版站点
  • 是否分卷:✅ 章节分卷 ❌ 所有章节放在一个卷中不分卷
  • 站内搜索:✅ 完全支持 ❌ 不支持 ❔ 站点支持但软件未适配 ⚠️ 站点支持,但不可用或维护中 ⛔ 站点支持搜索,但没有好的适配方案(比如用 Google 做站内搜索)
站点名称 网址 是否正版 是否分卷 支持站内搜索 代码文件
起点中文网 www.qidian.com site\qidian.go
笔趣阁 www.biquge5200.cc site\biquge.go
笔趣阁 5200 www.bqg5200.com site\biquge2.go
笔趣阁 www.biqiuge.com ⚠️ site\biquge3.go
顶点小说 www.booktxt.net site\dingdian1.go
新八一中文网 www.81new.com site\81new.go
书迷楼 www.shumil.co site\shumil_co.go
完本神站 www.wanbentxt.com site\wanbentxt_com.go

使用注意

  • 起点和盗版站的页面可能随时更改,可能会使抓取匹配失效,如果失效请提 issue
  • 生成的 EPUB 文件可能过大,市面上大多数阅读器会异常卡顿或者直接崩溃
  • 某些过于老的书或者作者频繁修改的书,盗版站都没有收录,也就无法爬取,如能找此书可用的盗版站请提 issue,并写出书名和正版站链接、盗版站链接

工作流程

  1. 输入起点链接
  2. 获取到书本信息,开始爬取每章内容,遇到 vip 章节放入Example中作为校对样本
  3. 手动设置笔趣阁等盗版小说的对应链接,tamp字段
  4. 再次启动,开始爬取,只爬取 VIP 部分,并跟Example进行校对
  5. 手动编辑对应的缓存文件,手动删除广告和某些随机字符(有部分是关键字,可能会导致 pandoc 内存溢出或者样式错误)
  6. conv -f md生成 markwown
  7. 用 pandoc 转换成 epub,pandoc -o xxxx.epub xxxx.md
Example
> ./FictionDown --url https://book.qidian.com/info/3249362 d # 获取正版信息

# 有时会发生`not match volumes`的错误,请启用Chromedp或者PhantomJS
# Use Chromedp
> ./FictionDown --url https://book.qidian.com/info/3249362 -d chromedp d
# Use PhantomJS
> ./FictionDown --url https://book.qidian.com/info/3249362 -d phantomjs d

> vim 一世之尊.FictionDown # 加入盗版小说链接
> ./FictionDown -i 一世之尊.FictionDown d # 获取盗版内容
# 爬取完毕就可以输出可阅读的文档了
> ./FictionDown -i 一世之尊.FictionDown conv -f txt
# 转换成epub有两种方式
# 1.输出markdown,再用pandoc转换成epub
> ./FictionDown -i 一世之尊.FictionDown conv -f md
> pandoc -o 一世之尊.epub 一世之尊.md
# 某些阅读器需要对章节进行定位,需要加上--epub-chapter-level=2
> pandoc -o 一世之尊.epub --epub-chapter-level=2 一世之尊.md
# 2.直接输出epub(调用Pandoc)
> ./FictionDown -i 一世之尊.FictionDown conv -f epub
现在支持小说站内搜索,可以不用手动填入了
> ./FictionDown --url https://book.qidian.com/info/3249362 d # 获取正版信息

# 有时会发生`not match volumes`的错误,请启用Chromedp或者PhantomJS
# Use Chromedp
> ./FictionDown --url https://book.qidian.com/info/3249362 --driver chromedp d
# Use PhantomJS
> ./FictionDown --url https://book.qidian.com/info/3249362 --driver phantomjs d

> ./FictionDown -i 一世之尊.FictionDown s -k 一世之尊 -p # 搜索然后放入
> ./FictionDown -i 一世之尊.FictionDown d # 获取盗版内容
# 爬取完毕就可以输出可阅读的文档了
> ./FictionDown -i 一世之尊.FictionDown conv -f txt
# 转换成epub有两种方式
# 1.输出markdown,再用pandoc转换成epub
> ./FictionDown -i 一世之尊.FictionDown conv -f md
> pandoc -o 一世之尊.epub 一世之尊.md
# 2.直接输出epub(某些阅读器会报错)
> ./FictionDown -i 一世之尊.FictionDown conv -f epub

未实现

  • 爬取正版的时候带上Cookie,用于爬取已购买章节
  • 支持 晋江文学城
  • 支持 纵横中文网
  • 支持有毒小说网
  • 支持刺猬猫(即“欢乐书客”)
  • 整理 main 包中的面条逻辑
  • 整理命令行参数风格
  • 完善广告过滤
  • 简化使用步骤
  • 优化 log 输出
  • 对于特殊章节,支持手动指定盗版链接或者跳过忽略
  • 外部加载匹配规则,让用户可以自己添加正/盗版源
  • 支持章节更新
  • 章节匹配过程优化

Usage

NAME:
   FictionDown - https://github.com/ma6254/FictionDown

USAGE:
    [global options] command [command options] [arguments...]

AUTHOR:
   ma6254 <9a6c5609806a@gmail.com>

COMMANDS:
     download, d, down  下载缓存文件
     check, c, chk      检查缓存文件
     edit, e            对缓存文件进行手动修改
     convert, conv      转换格式输出
     pirate, p          检索盗版站点
     search, s          检索盗版站点
     help, h            Shows a list of commands or help for one command

GLOBAL OPTIONS:
   -u value, --url value     图书链接
   --tu value, --turl value  资源网站链接
   -i value, --input value   输入缓存文件
   --log value               log file path
   --driver value, -d value  请求方式,support: none,phantomjs,chromedp
   --help, -h                show help
   --version, -v             print the version

安装和编译

程序为单执行文件,命令行 CLI 界面

包管理为 gomod

go get github.com/ma6254/FictionDown

交叉编译这几个平台的可执行文件:linux/arm linux/amd64 darwin/amd64 windows/amd64

make multiple_build

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package store is download cache file struct
Package store is download cache file struct

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL