搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

WANGXIN-567/weread-book-exporter

效率与系统工具

把微信读书网页端可读的整本书导出为 PDF、EPUB 和 Markdown,便于离线阅读与知识库归档。

398
38
Python
MIT
创建于 6 天前

项目介绍

WeRead Book Exporter 是一个 Python 工具,用于抓取微信读书网页端中你已购买或会员可读的整本书,并导出为三种格式:精排 PDF(苹方正文、楷体引文,带封面、目录页、侧边栏书签和页码)、标准 EPUB(内嵌字体样式、目录导航和插图),以及适合 Obsidian / Notion 的 Markdown(引文转为引用块)导出格式说明。适用对象是需要离线副本、全文检索,或把已购书籍整理进个人知识库的读者。

实现方式是浏览器自动化而非调用接口:通过 Playwright 驱动网页阅读器,切换到水平双栏翻页模式后逐页读取页面内容。README 强调的两个重点也由此而来——避开超长虚拟滚动容器在翻页时漏抓章节后半部分的问题,以及在跨页、插图穿插时重组段落顺序和断句。章节标题、引文、加粗小标题与正文的区分,来自画布上字号和字重的识别。

快速使用

准备 Python 3.9+ 和已安装的 Chrome 或 Edge。克隆并安装依赖:

git clone https://github.com/WANGXIN-567/weread-book-exporter.git
cd weread-book-exporter
pip install -r requirements.txt -i https://mirrors.cloud.tencent.com/pypi/simple/

安装说明建议使用国内 PyPI 镜像以避免超时,并说明代码会检测本机 Edge 或 Chrome,通常无需再下载约 200 MB 的 Playwright Chromium;两者都没有时再执行 playwright install chromium 安装步骤。

随后传入完整的微信读书网页链接(书籍 ID 也可):

python main.py https://weread.qq.com/web/reader/3b132980813ab94eeg013129

首次运行时浏览器窗口弹出,用微信扫码登录一次。脚本会遍历章节、下载封面与插图、渲染 PDF、生成 EPUB 和 Markdown,文件保存在 output/ 目录 使用示例。需要分步控制时,可用 python crawl_weread.py <链接或ID> 抓取、python export_book.py <链接或ID> 导出。

使用约束

  • 需要具备该书阅读权限的微信读书账号;工具作用于登录后的网页阅读器,而不是公开书目。
  • 抓取刻意放慢:翻页间隔随机 8~20 秒,每 10~20 页停顿 1~2 分钟,以降低服务端压力 防频控设计。长篇书籍的抓取耗时会明显增加。
  • 自动化浏览器默认只支持 Chrome 或 Edge,除非另行安装 Chromium。
  • 导出内容受网页端可渲染内容限制,标题和段落重建依赖字号、字重启发式,排版特殊的书籍可能需要手工整理。
  • 项目采用 MIT 许可证,但明确限定用于个人学习与笔记,并要求不要传播导出文件 免责声明。

HotRepo 点评

该项目在 HotRepo 新项目榜 2026-11-06 的记录为 203 Star、15 Fork,02:45 至 03:45 UTC 约一小时内新增 57 Star。观察窗口很短,只能说明当日情况,不足以判断走势。技术上值得注意的是它直接处理渲染画布与双栏翻页布局,而不是假定简单的滚动抓取——这正是项目明确针对的失败场景;随机等待和长停顿也说明整书抓取本身就是缓慢且对服务敏感的操作。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。