2023.10.24 更新,可使用最新版微信(3.9 版)操作显示历史文章,也可获取最近一批文章列表。
在最新版微信中,历史文章的显示形式发生变化,不再是上面视频中所示的单独一个窗口,这种情况下用 fiddler 抓不到文章列表,解决方法可参考 https://www.bilibili.com/video/BV1yu4y1n7PV/ 手动打开历史文章列表页
开源版是完全免费的,但需要你有点耐心有点学习精神。
详细视频教程,强烈推荐,麻烦给个三连
批量导出任意微信公众号历史文章,会用 python 写 hello world 就会用这个。
github 地址 https://github.com/LeLe86/vWeChatCrawl
其他需要用到的软件
wkhtmltopdf.exe ,解压后把 wkhtmltopdf.exe 文件放到和 start.py 同一目录下使用
若无法转 pdf 可能还需要安装这个vc 插件
外源代码编辑器推荐使用notepad++,不要用 windows 自带的记事本。
QQ 交流群 703431832 加群暗号"不止技术流",这是个交流群,不是小白义务答疑群,所以请一定要先自己按教程仔细尝试。
使用步骤:
a.安装 Python
直接 python setupPackage.py 安装本项目需要的库。有朋友反映默认源安装慢,这里我用了豆瓣的源。
b.安装并配置 Fiddler
Fiddler 的官网有时会连不上,可去 pc.qq.com 搜索 Fiddler4 并安装
会弹出几个窗口,都点 Yes
最后是这样的,打了 3 个钩。点 OK 保存即可。
在主窗口右侧按下图所示设置,其中需要填的网址为 mp.weixin.qq.com/mp/profile_ext?action=getmsg
至此配置完成了,点软件左下角的方块,会显示 Capturing ,表示它此时处在可以抓取数据的状态,再点一下会暂停抓取。此处先打开为抓取状态。
本次任务运行完了之后别忘了关掉这个 Capturing
c.打开某个微信公众号的历史文章列表
在最新版微信中,历史文章的显示形式发生变化,不再是上面视频中所示的单独一个窗口,这种情况下用 fiddler 抓不到文章列表,解决方法可参考 https://www.bilibili.com/video/BV1yu4y1n7PV/ 手动打开历史文章列表页
打开公众号历史文章列表之后,在列表中不断下划,使历史文章列表都显示出来,但注意不要划得太快。
Fiddler 中显示了我们需要的请求
把这些请求保存下来,基中包含文章 url 列表
d.运行 python 文件
打开本项目的 config.json 文件,设置
- jsonDir:上面在 Fiddler 中保存 json 文件的文件夹
- htmlDir:保存 html 的目录,路径中不能有空格
- pdfDir:保存 pdf 的目录,路径中不能有空格
改完记得保存文件
另外 wkhtmltopdf.exe 文件是 html 转 pdf 用的,要放在跟 start.py 同级的目录中。
运行 python start.py #开始下载 html
运行 python start.py pdf #把下载的 html 转 pdf
有的朋友会发现下载下来的文章缺少最近的一批文章,那是因为默认情况下最新文章不是以 json 的形式返回的,可以这么操作:
在文章列表中,第一篇文章的右上角有个“全部”,先选“视频”,再选“全部”,就能在 Fiddler 中看到第一页的视频列表了。
补充
如果有其他公众号相关功能定制的可直达 https://www.xiaokuake.com 或添加作者微信 xiaov0755
本开源项目仅用于技术学习交流,请勿用于非法用途,由此引起的后果本作者概不负责。
主要思路参考这几篇文章
一步步教你打造文章爬虫(1)-综述
一步步教你打造文章爬虫(2)-下载网页
特别要仔细看第 3 篇 一步步教你打造文章爬虫(3)-批量下载
常见问题汇总 一步步教你打造文章爬虫(4)-常见问题解答