WechatDownload微信公号文章下载工具

2023年2月7日 8447点热度 7人点赞 53条评论

前言

先叠个甲:本软件免费,请别拿去卖钱。TX有反爬机制,一次性爬几百篇文章有封号风险(只是封接口,不影响微信正常使用)。最后,摊上事别赖我。。。

弄这个软件的起因是经常看的一个微信公众号的文章经常发出去没几天就被404,那不如将文章保存到本地。加上最近在学Electron和TypeScript,于是就有了WechatDownload

软件

下载链接:WechatDownload
源码地址:https://github.com/xiaoguyu/wechatDownload

页面

image-20230814101333952

image-20230821104149231

使用

单篇文章下载

直接输入链接,点击下载按钮即可(此功能无需安装证书,如需要下载评论,请使用监控下载)

此方式无需登录微信,也因此无法获取评论和文章中QQ音乐音频,如需要这两样数据,请使用批量下载或监控下载

批量下载

批量下载需要代理,如果是初次使用,需要安装证书(只需要安装一次)

  • 初次使用请安装证书

    设置中心 → 打开证书路径 → 打开rootCA.crt文件

    Untitled

  • 批量下载

    1. 需要安装电脑版微信
    2. 在WechatDownload点击批量下载按钮
    3. 在电脑版微信打开一篇需要下载的公号的文章
    4. 回到WechatDownload,会弹框提示

      wechatDownload.gif

  • 监控下载

    1. 需要安装电脑版微信

    2. 在WechatDownload点击监控下载按钮(按钮会变颜色)

    3. 在电脑版微信打开需要下载的文章(可以打开多篇文章)

    4. 回到WechatDownload,再次点击监控下载按钮即可开始下载

      wechatDownload

  • 保存至 MySql

    需要执行文章末尾的 SQL 语句创建表

  • 线程配置

    时间间隔:单位是毫秒,假设时间间隔500,单线程是下载完一篇文章,等待500毫秒再继续下载。多线程就是每500毫秒异步下载文章,无需等待上一篇文章下载完成。

    单批数量:假设单批数量10,每次会同时异步下载10篇文章,等待这10篇下载完成,再继续下载10篇。

功能

其实,支持啥页面一看就知道了。

  • 支持选择下载范围
  • 将网页抓换成HTML、Markdown、PDF
  • 将网页源码保存至Mysql(下载来源是网络才有效)
  • 下载图片、音频到本地
  • 添加原文链接、元数据(作者、时间、公号名)
  • 跳过现有文章
  • 下载评论

下载来源(此选项只影响批量下载):

  • 网络:就是从微信接口获取文章
  • 数据库:如果选择了保存至Mysql选项,数据库中会保存文章的网页源码,此时如果需要将源码转换成HTML、Markdown ,选择下载来源是数据库即可。(微信接口用得多会被限制)

如需要用到数据库相关功能,请先创建相应的数据库表

DROP TABLE IF EXISTS wx_article;
CREATE TABLE wx_article (
    id INT ( 11 ) NOT NULL AUTO_INCREMENT,
    title VARCHAR ( 255 ) NULL DEFAULT NULL COMMENT '标题',
    content LONGTEXT NULL COMMENT '内容',
    author VARCHAR ( 255 ) NULL DEFAULT NULL COMMENT '作者',
    content_url VARCHAR ( 1023 ) NULL DEFAULT NULL COMMENT '详情链接',
    create_time datetime ( 0 ) NULL DEFAULT NULL,
    copyright_stat INT ( 11 ) NULL DEFAULT NULL,
    PRIMARY KEY ( id ) USING BTREE,
    UNIQUE INDEX uni_title ( title, create_time ) USING BTREE 
) ;

-- 2023-4-1 添加评论字段
ALTER TABLE wx_article ADD COLUMN comm LONGTEXT NULL COMMENT '精选评论',
ADD COLUMN comm_reply LONGTEXT NULL COMMENT '评论回复';

最后

没啥好说的了,有意见评论区提吧。欢迎大神帮忙优化代码。

王谷雨

一个苟且偷生的java程序员

文章评论

  • DC

    希望能增加 macOS 版本,或者网页版

    2023年2月8日
    • 王谷雨

      @DC 用Electron写的,理论上支持macOS,只是我没有苹果电脑,没法打包,你可以拉取源码自行编译。
      一开始是想做网页版的,只是需要通过代理获取微信的一些参数,所以做成桌面端的。

      2023年2月9日
      • Ann

        @王谷雨 大佬现在是否有网页端或mac端了,mac用不了好捉急

        2023年12月7日
        • 王谷雨

          @Ann 要通过代理获取参数,网页端太麻烦,暂时没有计划。
          Mac的用源码自行编译吧,我没编译条件

          2023年12月7日
  • BCV

    不能下载评论,大神想想办法吧,多谢。

    2023年5月4日
    • 王谷雨

      @BCV 我新增了下载评论的功能,你重新下载安装包更新下就行

      2023年5月9日
  • 上士

    能否添加微信,谈谈合作,相关研究所。18*******30

    2023年6月17日
  • 我的怎么检测不到打开的文章

    2023年6月29日
    • 王谷雨

      @许 先点批量下载,再打开文章

      2023年6月30日
  • yangboy

    批量下载点了,再打开文章,一直显示检测不到;单篇复制网址下载是没问题的;监控下载也是一直失败

    2023年7月7日
    • 王谷雨

      @yangboy 批量下载需要安装证书

      2023年7月10日
  • 卫斯特

    已经使用过,非常棒。
    有一个问题,微信文章如果没有发标题、正文、头图这种格式,只是一个简短的一小段文字这种,就会提取失败。这种有办法解决吗?

    2023年7月18日
    • 王谷雨

      @卫斯特 可以提供一下失败的文章的链接,我找时间优化下

      2023年7月20日
  • 卫斯特

    另外还有一个问题,好像有下载上限。想下载一个公众号写了5、6年,得有1400篇左右,大概每次都下载到500左右就停止了。这个是微信禁止获取接口了吗

    2023年7月18日
    • 王谷雨

      @卫斯特 是的,微信有反爬机制。目前我也没找到好的解决办法。

      2023年7月20日
      • 卫斯特

        @王谷雨 好的,感谢感谢。已经很棒了

        2023年7月21日
      • 卫斯特

        @王谷雨 大佬,测试了一下自定义时间没法批量下载。我之前想分批下载,比如就下19年的,报错:
        错误信息:unknown error

        2023年7月26日
        • 王谷雨

          @卫斯特 可以试试下载范围选7天内,如果还是unknown error,那就是微信接口被封了。一般一两个星期才能回复。建议不要大批量下载文章。

          2023年8月3日
          • 王谷雨

            @王谷雨 感谢反馈,最新版本应该已经解决了你说的问题

            2024年1月30日
      • tomy

        @王谷雨 一个bug反馈:文章已存在,跳过。使用环境:最新版+win11+旧版本微信,每次下载10篇后提示获取160篇(大概是这个数),然后后面大概很多篇都提示文章已存在(的确已经下载过)。这样下载180篇(不再往前下载了)文章,可能每篇文章都可能重复10多次,不知道是不是重复获取接口。
        提个建议。在下载目录新建以公众号名称命名的文件夹,此公众号下的文章都统一放到该目录下,不要把所有的文章都放在一个目录下,后期很难分开管理,如果强行分开后续”跳过现有文章“功能受影响。
        另外,封号问题应该不是简单的接口不让访问,是直接封号,可能老号高权重会不让访问接口几天,低权重的直接永封。中间人方法可能失效了。

        2023年10月19日
      • 栗子

        @王谷雨 如果一篇一篇的下载,这样操作如果下载一千多篇会被封接口吗

        2024年1月29日
        • 王谷雨

          @栗子 粘贴链接下载和监控下载都不涉及到列表接口,所以就算接口封了也不会有影响。

          2024年1月30日
  • zd

    你好,吾爱破解过去也有个同类功能软件,也叫wechatdownload,是同一个软件吗?貌似界面有差异

    2023年7月23日
  • yep

    软件用了下非常好,想提一点额外的建议是能否增加爬取文章中的作者名

    2023年8月6日
    • 王谷雨

      @yep 已添加,勾选保存元数据的功能就行

      2023年8月7日
      • yep

        @王谷雨 刚刚测试了下,不勾选"添加原文链接",但是仍会自动保存链接

        2023年8月7日
        • 王谷雨

          @yep 额,漏了个if,下个版本修复

          2023年8月8日
  • ll

    你好,v1.3.0 版勾选了下载评论和下载评论回复,粘贴单篇文章的链接下载得到的 html 里没有这两项,证书已安装过。还有2点建议,希望能考虑下,谢谢创作这么好用的软件。
    1、下载的文章直接放 savepath 里,不创建同名文件夹存放
    2、文章标题的形式为:[公众号标题]-日期 文章标题

    2023年8月11日
    • 王谷雨

      @ll 如果需要下载评论,请使用监控下载,具体看文章(我更新了介绍文章)
      1. 创建文件夹是因为如果图片、音频等需要下载到本地,可以放在同一个文件夹中
      2.文件夹已经做好名字处理了,所以文章就统一使用index
      所以我暂时不会进行修改

      2023年8月14日
  • z

    很牛,找这样的软件好几年了,以前网上有相同名的,不行。你这个,好用
    提个意见,下载的图片,在文件夹里保存,能不能按文章排序命名?我用你的软件尝试着下载了文章,在文件夹找到该软件下载的文章,打开,也没问题,在浏览器正常打开,但是文件夹里的图片却没有按序排列,一个文章有很多图片,不按原文序列来排的话,在文件夹里看图就很费劲,希望能增加这个功能。当然我也知道若重命名了,可能文章在浏览器打开时会对不上文件名,但我想知道能不能解决,谢谢

    2023年9月5日
    • 王谷雨

      @z 1.4.4版本已经对下载的文件名进行排序

      2023年9月6日
  • z

    感谢,牛的一塌糊涂

    2023年9月8日
  • lx

    监控下载失效,已经提issue https://github.com/xiaoguyu/wechatDownload/issues/10
    点击“监控下载”,然后电脑微信打开“微信公众号文章”,出现下面的界面,再次点击“监控下载” 出现获取文章失败

    代理开启成功,准备批量下载...

    请在微信打开需要下载的文章,可打开多篇文章

    获取文章失败

    版本: 微信 3.9.6.33, wechatdownload 1.4.4

    日志:
    [2023-09-26 10:06:07.375] [info] [ 'setting', 'savePath', 'D:\wechatdownload微信公众号文章' ]
    [2023-09-26 10:06:07.375] [info] [ 'setting', 'caPath', 'C:\Users\corebug\.anyproxy\certificates' ]
    [2023-09-26 10:06:07.376] [info] [ 'setting', 'mysqlHost', 'localhost' ]
    [2023-09-26 10:06:07.377] [info] [ 'setting', 'mysqlPort', 3306 ]
    [2023-09-26 10:14:28.711] [info] [ 'setting', 'firstRun', false ]
    [2023-09-26 10:14:28.714] [info] [ 'setting', 'dlSource', 'web' ]
    [2023-09-26 10:14:28.715] [info] [ 'setting', 'threadType', 'multi' ]
    [2023-09-26 10:14:28.716] [info] [ 'setting', 'dlInterval', 500 ]
    [2023-09-26 10:14:28.717] [info] [ 'setting', 'batchLimit', 10 ]
    [2023-09-26 10:14:28.718] [info] [ 'setting', 'dlHtml', 1 ]
    [2023-09-26 10:14:28.719] [info] [ 'setting', 'dlMarkdown', 1 ]
    [2023-09-26 10:14:28.719] [info] [ 'setting', 'dlPdf', 1 ]
    [2023-09-26 10:14:28.720] [info] [ 'setting', 'dlMysql', 0 ]
    [2023-09-26 10:14:28.721] [info] [ 'setting', 'dlAudio', 1 ]
    [2023-09-26 10:14:28.721] [info] [ 'setting', 'dlImg', 1 ]
    [2023-09-26 10:14:28.722] [info] [ 'setting', 'skinExist', 1 ]
    [2023-09-26 10:14:28.723] [info] [ 'setting', 'saveMeta', 1 ]
    [2023-09-26 10:14:28.723] [info] [ 'setting', 'sourceUrl', 1 ]
    [2023-09-26 10:14:28.724] [info] [ 'setting', 'dlComment', 1 ]
    [2023-09-26 10:14:28.724] [info] [ 'setting', 'dlCommentReply', 1 ]
    [2023-09-26 10:14:28.725] [info] [ 'setting', 'dlScpoe', 'seven' ]
    [2023-09-26 10:14:28.725] [info] [
    'setting',
    'tmpPath',
    'C:\Users\corebug\AppData\Local\Temp\wechatDownload'
    ]
    [2023-09-26 10:14:28.726] [info] [ 'setting', 'savePath', 'D:\wechatdownload微信公众号文章' ]
    [2023-09-26 10:14:28.726] [info] [ 'setting', 'caPath', 'C:\Users\corebug\.anyproxy\certificates' ]
    [2023-09-26 10:14:28.727] [info] [ 'setting', 'mysqlHost', 'localhost' ]
    [2023-09-26 10:14:28.728] [info] [ 'setting', 'mysqlPort', 3306 ]
    [2023-09-26 10:18:21.249] [info] [ '触发检查更新' ]
    [2023-09-26 10:18:21.250] [info] [ { code: 2, msg: '正在检查更新……' } ]
    [2023-09-26 10:18:32.643] [info] [ { code: 4, msg: '现在使用的就是最新版本,不用更新' } ]

    2023年9月26日
    • lx

      @lx 又好了

      2023年9月26日
  • LX

    我也安装了证书, 批量下载的时候说检测不到文章
    1.粘贴链接
    2.点击批量下载
    3.再随意打开一篇公号文章

    请教大神哪里出错了

    2023年10月7日
    • 王谷雨

      @LX 确认下证书安装时选的存储位置,不能闭眼下一步,证书存储要选受信任的根证书颁发机构。

      2023年10月9日
    • tomy

      @LX 除了证书外,还有时间限制,不是一直监听的,盲猜大概5s。所以你可以这样:同时打开一篇公众号历史记录界面 和软件界面,然后点击批量下载按钮后迅速打开一篇文章,手速要快,别磨磨唧唧找文章。不过这算个小bug,可以设置为15s-30s比较好。

      2023年10月19日
  • LX

    按照视频演示的步骤做了一遍, 第四步没有出现弹窗提示

    2023年10月7日
    • 王谷雨

      @LX 要不你去github的issues看看吧,有不少人都遇到这个问题

      2023年10月20日
    • 哈哈哈

      @LX 哪里有视频

      2023年11月15日
  • zzz

    点个赞~

    2023年10月25日
  • 卫斯特

    大佬好。
    公众号这类文章从11月开始没法下载了。
    这是案例链接:https://mp.weixin.qq.com/s/2uvcUKa22lmb2egMxWEKUg
    之前是可以提取一个原文链接和标题,有这俩至少可以知道内容大概是什么。现在就是提取失败,辛苦大佬看一下。

    2023年11月7日
    • 王谷雨

      @卫斯特 已经支持了,去github下载v1.4.6版本吧,自动更新功能暂时有点问题

      2023年11月8日
  • Kenny

    牛逼 帮大忙了!

    2023年11月9日
  • maye

    为什么我打不开下载链接?不管是否在科学上网的情况下
    谢谢!

    2023年12月6日
    • 王谷雨

      @maye github的链接,可以打开的。不行就直接去源码地址

      2023年12月7日
  • intjuly

    64位win不能用吗

    2023年12月13日
  • 石头

    大佬,我更新到最新版了,批量下载和监控下载都用不了,不知道什么原因。证书也装了

    2024年1月10日
    • 王谷雨

      @石头 设置中心有一键安装证书的按钮(要用管理员权限启动软件),安装好证书要重启软件(安装好证书就不用管理员权限了)

      2024年1月11日
  • 石头

    大佬,我把软件卸载之后,重新安装,按您的指点重新操作一遍,还是不行。不知道是什么原因。
    批量下载时提示:批量下载超时;监控下载提示:未能获取文章。

    2024年1月11日
    • 王谷雨

      @石头 监控不到就是证书没有正确安装的问题。对于你的问题我也不清楚原因,或者你可以手动安装证书试试。

      2024年1月15日