All Projects → ma6254 → Fictiondown

ma6254 / Fictiondown

Licence: gpl-3.0
小说下载|小说爬取|起点|笔趣阁|导出Markdown|导出txt|转换epub|广告过滤|自动校对

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Fictiondown

91porn Api
🌭💦 91porn爬虫在线无限制API接口(永久有效,口令每日更新) 及 在线web预览
Stars: ✭ 341 (-5.8%)
Mutual labels:  crawler, spider
Hacker News Digest
📰 A responsive interface of Hacker News with summaries and thumbnails.
Stars: ✭ 278 (-23.2%)
Mutual labels:  crawler, spider
galer
A fast tool to fetch URLs from HTML attributes by crawl-in.
Stars: ✭ 138 (-61.88%)
Mutual labels:  crawler, spider
Ttbot
今日头条机器人,支持用户登陆、关注、取消关注、获取关注粉丝、发文、发悟空问答、点赞、评论、采集各种类型新闻讯息等,使用今日头条网页版API实现
Stars: ✭ 338 (-6.63%)
Mutual labels:  crawler, spider
Weixin Spider
微信公众号爬虫,公众号历史文章,文章评论,文章阅读及在看数据,可视化web页面,可部署于Windows服务器。基于Python3之flask/mysql/redis/mitmproxy/pywin32等实现,高效微信爬虫,微信公众号爬虫,历史文章,文章评论,数据更新。
Stars: ✭ 287 (-20.72%)
Mutual labels:  crawler, spider
WebCrawler
一个轻量级、快速、多线程、多管道、灵活配置的网络爬虫。
Stars: ✭ 39 (-89.23%)
Mutual labels:  crawler, spider
Gopa
[WIP] GOPA, a spider written in Golang, for Elasticsearch. DEMO: http://index.elasticsearch.cn
Stars: ✭ 277 (-23.48%)
Mutual labels:  crawler, spider
crawler
A simple and flexible web crawler framework for java.
Stars: ✭ 20 (-94.48%)
Mutual labels:  crawler, spider
Zhihu Login
知乎模拟登录,支持提取验证码和保存 Cookies
Stars: ✭ 340 (-6.08%)
Mutual labels:  crawler, spider
Gospider
golang实现的爬虫框架,使用者只需关心页面规则,提供web管理界面。基于colly开发。
Stars: ✭ 285 (-21.27%)
Mutual labels:  crawler, spider
slime
🍰 一个可视化的爬虫平台
Stars: ✭ 27 (-92.54%)
Mutual labels:  crawler, spider
Freshonions Torscraper
Fresh Onions is an open source TOR spider / hidden service onion crawler hosted at zlal32teyptf4tvi.onion
Stars: ✭ 348 (-3.87%)
Mutual labels:  crawler, spider
arachnod
High performance crawler for Nodejs
Stars: ✭ 17 (-95.3%)
Mutual labels:  crawler, spider
ZhengFang System Spider
🐛一只登录正方教务管理系统,爬取数据的小爬虫
Stars: ✭ 21 (-94.2%)
Mutual labels:  crawler, spider
flink-crawler
Continuous scalable web crawler built on top of Flink and crawler-commons
Stars: ✭ 48 (-86.74%)
Mutual labels:  crawler, spider
Bt Btt
磁力網站U3C3介紹以及域名更新
Stars: ✭ 261 (-27.9%)
Mutual labels:  crawler, spider
Fast Lianjia Crawler
直接通过链家 API 抓取数据的极速爬虫,宇宙最快~~ 🚀
Stars: ✭ 247 (-31.77%)
Mutual labels:  crawler, spider
Magic google
Google search results crawler, get google search results that you need
Stars: ✭ 247 (-31.77%)
Mutual labels:  crawler, spider
Crawlertutorial
爬蟲極簡教學(fetch, parse, search, multiprocessing, API)- PTT 為例
Stars: ✭ 282 (-22.1%)
Mutual labels:  crawler, spider
Toapi
Every web site provides APIs.
Stars: ✭ 3,209 (+786.46%)
Mutual labels:  crawler, spider

FictionDown

FictionDown 是一个命令行界面的小说爬取工具

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

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

License release_version last-commit Download Count goproxy.cn

godoc QQ 群

Go travis-ci Go Report Card

文档

文档目前「指南」部分已完成,你可以在这里查看。

特性

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

站点支持

  • 是否正版:✅ 为正版站点 ❌ 为盗版站点
  • 是否分卷:✅ 章节分卷 ❌ 所有章节放在一个卷中不分卷
  • 站内搜索:✅ 完全支持 ❌ 不支持 ❔ 站点支持但软件未适配 ⚠️ 站点支持,但不可用或维护中 ⛔ 站点支持搜索,但没有好的适配方案(比如用 Google 做站内搜索)
站点名称 网址 是否正版 是否分卷 支持站内搜索 代码文件
起点中文网 www.qidian.com sites\qidian\main.go
笔趣阁 www.biquge5200.cc sites\biquge5200_cc\main.go
顶点小说 www.booktxt.net sites\booktxt_net\main.go
新八一中文网 www.81new.com sites\new81\main.go
书迷楼 www.shumil.co sites\shumil_co\main.go
完本神站 www.wanbentxt.com site\wanbentxt_com.go
38 看书 www.38kanshu.com ⚠️ sites\com_38kanshu\38kanshu.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 s -d -k "诡秘之主"

站内搜索,然后填入

> ./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 <[email protected]>

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].