show

微信公众号文章导出,制成电子书便于珍藏与搜索。因为如今微信公众号文章页面常十分复杂(花哨),导出 epub 会损失很多内容,故还是制作成适合手机、电脑不同尺寸的 PDF 更保真些。

制作过程做简单记录。分三步走。

第一步,抓取公众号文章

微信接口在不断变化中,所以这一步需要灵活应变。

主要依靠工具:article_spider

核心接口:https://mp.weixin.qq.com/mp/profile_ext?action=getmsg
核心参数:__biz,Cookie,appmsg_token

我通过「微信 for mac」Version 2.3.16 (11023),打开公众号文章,在 Chrome 中,找到核心参数:__biz,Cookie,appmsg_token

新版本微信客户端已经找不到 appmsg_token 参数了,可能需要查看历史消息,抓包 https://mp.weixin.qq.com/mp/profile_ext?action=getmsg 开头的请求,查看其参数。

appmsg_token

第二步:将 HTML 转为 PDF

原理:利用 wkhtmltopdf 将 HTML 转为 PDF。
工具:deal_img.py,html2pdf.py

将两个脚本下载,放在同一个文件夹。设置 html2pdf.py 中源 HTML 路径,与生成文件路径。

1
2
rootPath = 'boshanxiaoxu01'
outputPath = 'output'

html2pdf

使用 Python3 运行。

1
2
3
4
# 可选参数
# -f 2 -t 20:从第 2 条,转换到 20 条
# -s:适合手机大小 pdf(默认适合电脑)
python3 html2pdf.py -f 2 -t 20 -s

第三步:合并 PDF

原理:利用 PyPDF2,将 PDF 合并。
工具:mergepdf.py

同样需要配置输入、输出路径

1
2
inPath = 'output'
outPath = 'prod'

合并 pdf

使用 python3 运行:python3 mergepdf.py
最终生成 pdf 电子书于 prod 目录。

其他

这三步可以灵活使用。

第一步抓取文章,其实也可以从 传送门 来抓取 HTML 会容易很多,没有微信那么多的限制。

也可以用其他工具直接拿到 pdf 文件,比如如下工具:
weixin_crawler 看起来比较厉害,不过我没试,看着有收费倾向。

文章导出助手 收费,我导出两百篇 25元,不知现在如何