3 分钟跑通 fanqienovel-downloader:番茄小说整本离线下载与格式选择教程
2026/8/24 16:43:11 网站建设 项目流程

3 分钟跑通 fanqienovel-downloader:番茄小说整本离线下载与格式选择教程

【免费下载链接】fanqienovel-downloader下载番茄小说项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader

fanqienovel-downloader 是一个 Python 写的番茄小说下载工具:输入小说 id 或链接,它自动抓取整本书,转成 TXT、EPUB 等格式存到本地。适合想把小说离线保存到手机、阅读器或 NAS 上的普通读者。

能力速览

  • 离线阅读:整本书落到本地磁盘,断网状态下也能逐章翻阅
  • 批量囤书:Web 版内置队列,多本书排队自动下载,挂后台不用盯
  • 阅读器直装:存成 EPUB 时自动带上书名、作者和封面,导入墨水屏设备即可看
  • 追更更新:之前下载过的书会被记录,随时重新抓取最新章节
  • 按名找书:页面里直接搜书名拿 id,不用去网站翻找

跑起来:Docker 一条命令搞定

最省事的方式是用 Docker(一种把应用打包成容器、不用装依赖的运行方式),克隆仓库后直接启动:

git clone https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader cd fanqienovel-downloader docker compose up -d

启动后默认占用 12930 端口,浏览器打开http://localhost:12930即可使用。下载的书和配置分别放进fanqie_downloadsfanqie_data两个 Docker 卷(容器里的持久化存储空间),重启容器不会丢。

不想用 Docker 就用 Python 直跑:克隆后执行pip install -r requirements.txt装依赖,进入src目录运行python server.py,端口相同。想在手机上用,则装好 Termux 后pip install requests lxml ebooklib tqdm beautifulsoup4,lxml 编译报错就先apt install clang libxml2 libxsltCFLAGS="-O0" pip install lxml,最后python src/ref_main.py,它是纯命令行界面。

输出格式怎么挑:按阅读器对照选

在设置页(或配置文件)选save_mode,1~5 与下列模式一一对应:

保存模式落到本地的文件什么情况下选它
1 整本 TXT单个.txt手机自带文本阅读器打开最省事
2 分章 TXT以书名为目录,一章一个.txt书很长、想按章翻找
3 EPUB单个.epub,带作者与封面墨水屏、微信读书等标准阅读器
4 HTML带样式的网页目录,Web 版下载时直接给压缩包习惯在浏览器或平板里看书
5 LaTeX.tex工程文件真要排版打印的时候

配置调优:遇到什么问题改什么

遇到的情况对应字段建议取值为什么这么调
章节抓空、速度被限delay[50, 150]起步,老被限就放到[200, 500]单位毫秒,决定每章之间的随机间隔,放慢后不容易触发风控
想更快或更温和xc家宽和手机网络给 4~8,带宽富余给 8~16它是同时抓取的章节线程数,再往上收益很小
换输出格式save_mode1~5 对应上表五种模式无性能差异,纯按你的阅读器选
段首缩进不对kg/kgfkg=0取消缩进;kgf填缩进字符控制段首占位符,默认是全角空格

配置文件在src/data/config.json。程序底层靠随机延迟加多个请求身份轮换来降低被风控的概率,所以参数往温和里调,比研究别的技巧都管用;改乱了直接删掉这个文件即可恢复默认。

常见问题:照着步骤修

Q1:依赖装不上,lxml 编译报错?Termux 里先执行apt install clang libxml2 libxslt,再CFLAGS="-O0" pip install lxml;桌面端则新建一个干净的 venv 虚拟环境,重新pip install -r requirements.txt

Q2:12930 端口被占、页面打不开?Docker 部署就把docker-compose.yml里的端口映射从12930:12930改成12931:12930,重新docker compose up -d;本机直跑就找到占用 12930 的进程停掉。

Q3:打开 TXT 是乱码,段首空格怪?用 UTF-8 编码的编辑器(VS Code、记事本)打开;缩进不对就删除src/data/config.json恢复默认,或在设置里把段首占位改回 2 个全角空格。

Q4:日志一直刷ProxyError说明你开了代理或加速器,关掉后重试即可。

进阶:用 API 接自己的脚本

Web 版本质是一个 Flask 服务(Python 的轻量 Web 框架),常用接口长这样:

# 按书名搜索,从返回结果里拿 novel_id curl "http://localhost:12930/api/search?keyword=剑来" # 用 id 发起下载 curl http://localhost:12930/api/download/7143038691944959011 # 查当前队列的下载状态 curl http://localhost:12930/api/queue/status

/api/settings还能直接读写配置,脚本里顺手改掉save_mode也没问题。

它适合想把番茄小说离线保存下来慢慢看的读者,以及愿意在 NAS 或服务器上挂个小容器的人;它只覆盖番茄这一个平台,指望它下载别家内容或做内容再分发就不合适了。

【免费下载链接】fanqienovel-downloader下载番茄小说项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询