前言
源码已停止发布,安装包随缘更新,请别将软件用于牟利,谢谢
2024-05-06
说说停止更新的原因,主要有两点:
-
我觉得软件基本功能已经完备,暂时懒得投入精力去更新维护。
-
爬虫毕竟不是啥好东西,我也怕被请去喝茶。
2024-07-19
修复下载文章异常的问题
2024-10-18
修复无法下载评论
2024-12-9
修复无法下载评论 安装包
先叠个甲:本软件免费,请别拿去卖钱。TX有反爬机制,一次性爬几百篇文章有封号风险(只是封接口,不影响微信正常使用)。最后,摊上事别赖我。。。
弄这个软件的起因是经常看的一个微信公众号的文章经常发出去没几天就被404,那不如将文章保存到本地。加上最近在学Electron和TypeScript,于是就有了WechatDownload
软件
下载链接:WechatDownload
源码地址:https://github.com/xiaoguyu/wechatDownload
页面
使用
单篇文章下载
直接输入链接,点击下载按钮即可(此功能无需安装证书,如需要下载评论,请使用监控下载)
此方式无需登录微信,也因此无法获取评论和文章中QQ音乐音频,如需要这两样数据,请使用批量下载或监控下载
批量下载
批量下载需要代理,如果是初次使用,需要安装证书(只需要安装一次)
-
初次使用请安装证书
设置中心 → 打开证书路径 → 打开rootCA.crt文件
-
批量下载
- 需要安装电脑版微信
- 在WechatDownload点击批量下载按钮
- 在电脑版微信打开一篇需要下载的公号的文章
-
回到WechatDownload,会弹框提示
-
监控下载
-
需要安装电脑版微信
-
在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 '评论回复';
最后
没啥好说的了,有意见评论区提吧。欢迎大神帮忙优化代码。
希望能增加 macOS 版本,或者网页版
用Electron写的,理论上支持macOS,只是我没有苹果电脑,没法打包,你可以拉取源码自行编译。
一开始是想做网页版的,只是需要通过代理获取微信的一些参数,所以做成桌面端的。
大佬现在是否有网页端或mac端了,mac用不了好捉急
要通过代理获取参数,网页端太麻烦,暂时没有计划。
Mac的用源码自行编译吧,我没编译条件
不能下载评论,大神想想办法吧,多谢。
我新增了下载评论的功能,你重新下载安装包更新下就行
能否添加微信,谈谈合作,相关研究所。18*******30
我的怎么检测不到打开的文章
先点批量下载,再打开文章
批量下载点了,再打开文章,一直显示检测不到;单篇复制网址下载是没问题的;监控下载也是一直失败
批量下载需要安装证书
已经使用过,非常棒。
有一个问题,微信文章如果没有发标题、正文、头图这种格式,只是一个简短的一小段文字这种,就会提取失败。这种有办法解决吗?
可以提供一下失败的文章的链接,我找时间优化下
另外还有一个问题,好像有下载上限。想下载一个公众号写了5、6年,得有1400篇左右,大概每次都下载到500左右就停止了。这个是微信禁止获取接口了吗
是的,微信有反爬机制。目前我也没找到好的解决办法。
好的,感谢感谢。已经很棒了
大佬,测试了一下自定义时间没法批量下载。我之前想分批下载,比如就下19年的,报错:
错误信息:unknown error
可以试试下载范围选7天内,如果还是unknown error,那就是微信接口被封了。一般一两个星期才能回复。建议不要大批量下载文章。
感谢反馈,最新版本应该已经解决了你说的问题
一个bug反馈:文章已存在,跳过。使用环境:最新版+win11+旧版本微信,每次下载10篇后提示获取160篇(大概是这个数),然后后面大概很多篇都提示文章已存在(的确已经下载过)。这样下载180篇(不再往前下载了)文章,可能每篇文章都可能重复10多次,不知道是不是重复获取接口。
提个建议。在下载目录新建以公众号名称命名的文件夹,此公众号下的文章都统一放到该目录下,不要把所有的文章都放在一个目录下,后期很难分开管理,如果强行分开后续”跳过现有文章“功能受影响。
另外,封号问题应该不是简单的接口不让访问,是直接封号,可能老号高权重会不让访问接口几天,低权重的直接永封。中间人方法可能失效了。
如果一篇一篇的下载,这样操作如果下载一千多篇会被封接口吗
粘贴链接下载和监控下载都不涉及到列表接口,所以就算接口封了也不会有影响。
你好,吾爱破解过去也有个同类功能软件,也叫wechatdownload,是同一个软件吗?貌似界面有差异
不是,名字一样而已
软件用了下非常好,想提一点额外的建议是能否增加爬取文章中的作者名
已添加,勾选保存元数据的功能就行
刚刚测试了下,不勾选"添加原文链接",但是仍会自动保存链接
额,漏了个if,下个版本修复
你好,v1.3.0 版勾选了下载评论和下载评论回复,粘贴单篇文章的链接下载得到的 html 里没有这两项,证书已安装过。还有2点建议,希望能考虑下,谢谢创作这么好用的软件。
1、下载的文章直接放 savepath 里,不创建同名文件夹存放
2、文章标题的形式为:[公众号标题]-日期 文章标题
如果需要下载评论,请使用监控下载,具体看文章(我更新了介绍文章)
1. 创建文件夹是因为如果图片、音频等需要下载到本地,可以放在同一个文件夹中
2.文件夹已经做好名字处理了,所以文章就统一使用index
所以我暂时不会进行修改
也是两点建议:
1 下载的文章直接放 savepath 里,不创建同名文件夹存放
2 能否下载word 形式
第一点之前讨论过了,评论区或者github的issues看下
第二点,我已经停更了啊,兄弟。。。
很牛,找这样的软件好几年了,以前网上有相同名的,不行。你这个,好用
提个意见,下载的图片,在文件夹里保存,能不能按文章排序命名?我用你的软件尝试着下载了文章,在文件夹找到该软件下载的文章,打开,也没问题,在浏览器正常打开,但是文件夹里的图片却没有按序排列,一个文章有很多图片,不按原文序列来排的话,在文件夹里看图就很费劲,希望能增加这个功能。当然我也知道若重命名了,可能文章在浏览器打开时会对不上文件名,但我想知道能不能解决,谢谢
1.4.4版本已经对下载的文件名进行排序
感谢,牛的一塌糊涂
监控下载失效,已经提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: '现在使用的就是最新版本,不用更新' } ]
又好了
我也安装了证书, 批量下载的时候说检测不到文章
1.粘贴链接
2.点击批量下载
3.再随意打开一篇公号文章
请教大神哪里出错了
确认下证书安装时选的存储位置,不能闭眼下一步,证书存储要选受信任的根证书颁发机构。
除了证书外,还有时间限制,不是一直监听的,盲猜大概5s。所以你可以这样:同时打开一篇公众号历史记录界面 和软件界面,然后点击批量下载按钮后迅速打开一篇文章,手速要快,别磨磨唧唧找文章。不过这算个小bug,可以设置为15s-30s比较好。
按照视频演示的步骤做了一遍, 第四步没有出现弹窗提示
要不你去github的issues看看吧,有不少人都遇到这个问题
哪里有视频
点个赞~
大佬好。
公众号这类文章从11月开始没法下载了。
这是案例链接:https://mp.weixin.qq.com/s/2uvcUKa22lmb2egMxWEKUg
之前是可以提取一个原文链接和标题,有这俩至少可以知道内容大概是什么。现在就是提取失败,辛苦大佬看一下。
已经支持了,去github下载v1.4.6版本吧,自动更新功能暂时有点问题
牛逼 帮大忙了!
为什么我打不开下载链接?不管是否在科学上网的情况下
谢谢!
github的链接,可以打开的。不行就直接去源码地址
64位win不能用吗
就是64位的啊
大佬,我更新到最新版了,批量下载和监控下载都用不了,不知道什么原因。证书也装了
设置中心有一键安装证书的按钮(要用管理员权限启动软件),安装好证书要重启软件(安装好证书就不用管理员权限了)
大佬,我把软件卸载之后,重新安装,按您的指点重新操作一遍,还是不行。不知道是什么原因。
批量下载时提示:批量下载超时;监控下载提示:未能获取文章。
监控不到就是证书没有正确安装的问题。对于你的问题我也不清楚原因,或者你可以手动安装证书试试。
我是能通过监控下载,但是批量下载出现unknown error
去github的issues翻下吧,大部分问题上面都有解答了。
你好,作者,这个软件非常棒,一直在github更新你的软件作品,你的保存文章的需求不是没有人用的,这个软件目前是我用过最好的,非常可惜这个项目停止运营了,可以问一下是因为什么原因吗?后续还会有机会更新吗
停更原因写在文章开头了。后续没什么意外都不会更新了。
功能确实很完备了,感谢大佬的工具,确实很好用,期待微信不会变更规则,可以用的久一点
你好,请问能不能只监听网络请求?我担心会被反爬,不知道只监听网络请求的话会不会比较好?
就是那个网页下滑的时候不是会有个链接请求嘛,不知道微信里面是不是也是这样的。如果能浏览保存下网链的话,是不是就可以退出微信放心大胆地爬取了?
不能,文章列表和评论,需要登录才能获取
请问提示 no session怎么解决,辛苦了
https://github.com/xiaoguyu/wechatDownload/issues/21
帅哥,下载正常的,但是下载内容里面显示:当前环境异常,完成验证后即可继续访问。
批量下载,其它都正常的,就是下载结果里面都没有数据,文字内容为:当前环境异常,完成验证后即可继续访问。这是什么情况,有什么解决办法吗
我懂了,原来证书的安装时给 anyproxy 代理程序用的,也就是要先安装这个 anyproxy 代理程序的
遇到同样的问题,兄台能否分享下经验;
现在 http://mp.weixin.qq.com/s?__biz=MjM5MDIxMjQoMQ==&mid=2649925410&idx=2&sn=7fc4b312e697a762697f062a3296e2eb&chksm=bfc7ad33d89d13548de2058690e49835736e8cb54a338a3c9535b578592c7e56424b8840aea0&scene=27#wechat_redirect 这个访问不了,它说:当前环境异常,完成验证后即可继续访问。
大佬,腾讯现在对直接打开拼接出来的文章的链接加验证码了,现在下载不了文章了
自行编译吧
在 worker.ts 文件的 132 行加上
articleInfo.contentUrl = articleInfo.contentUrl.replace(/&/g, '&');
今天下载海报式文章,下载出来的文件只有“当前环境异常,完成验证后即可继续访问。”
大佬,不会编程,实在不会编译,这个问题有方法解决吗
停止更新了,不行就找找其他家产品吧
谢谢大佬,理解,没有编程技术,但是按照你上面的提供的方法,昨晚搞了很久,搜索到处学了一下,下了编译工具,按你的132行那个方法弄好了。
其他家主要导出的没有找到满意,知道去年开始找到你的工具,每一样都是我的想要,导出来的html也是排版最合适的。感谢。
遇到同样的问题,兄台能否分享下经验,编译工具?!
博主提供了最新的安装包,在这个网页,你下载安装就好
上周开始不能下载了,可能TX改了规则,一下载就提示文章已存在。这么棒的一个软件停更太可惜。我不是程序员。在手工复制发现:在复制标题下的公众号名 日期 省市,粘贴到word时原来是一行,现在变成两行(公众号名一行,第2行是日期时间 省市),是不是你程序判断与这儿有关?热烈期待你更新,收点费也愿意!
我发了个安装包,去文章的前言里面找吧
安装包提示“PIKPAK目前无法向中国大陆用户提供服务”。
已经换了链接,你重新下载吧
19年之后的是不是下不了呀
说错了,19年之前的
应该是你一次性下载太多了,你可以在设置里改`下载范围`试试
哇,太感谢了。我18日反应问题,都以为没有搞了。23日无聊试着上来看,发现19日就修正了,太意外惊喜了。但当天我的梯子出问题,+工作忙,直到昨天才弄到硬盘里,昨晚试了下,跟原来一样。太谢谢作者了,给个赞赏码,请兄弟喝杯咖啡!!!主要想表达下谢意和敬意!我是个人想留存感兴趣的公众号文章及评论留言,以便后面翻看。
不客气,咖啡就不用了,毕竟随缘更新
谢谢博主以“无限热情,传承自由文明”。不知留言留下的QQ看地见不?有缘相见,我是成都的。人到中年,诸事烦多,重学编程脑壳不好用。非常感谢!!!
不客气
谢谢博主,感激涕零,简直是给资料囤积者的福音!目前markdown文件名里没有日期,存在于外部文件夹,不知道能否加入markdown文件命名添加日期的功能,这样方便资料整理分类。无论如何万分感谢博主,谢谢。
加上去了,重新下载安装就行
天啊,感动,谢谢您的回复和维护,心理一阵暖流。希望您能开一下小红包功能,让每个人自愿付费,表达我们一点点诚意。
您好,有的公众号除了第一篇正文之外,下面还有多篇广告,是否有办法只下载正文,跳过广告
试试用过滤规则根据作者来过滤吧,不行就只能凉拌了。
感谢大佬!批量下载效果很好,只是运行过程中时不时有的文章会提取错误,如上面某些朋友们所提到的那般 “当前环境异常,完成验证后即可继续访问”。日志文件中也不会显示提取失败的文章的题目(尽管保存的文件夹名称显示正确),如:“【】下载完成,共0张图,url:”。我提取了日志文件中所有下载失败的文章url尝试使用单篇文章下载功能重新提取,可是这样将十分耗费时间,有没有一种方法可以一次性粘贴多个文章url至链接框内,让软件顺次打开链接并保存?
另,是否可能使保存的html文件名如其母文件夹名一般在前面附带上文章日期?
再次十分感谢!愿请大佬喝咖啡!
你用的是不是旧版啊,我已经给所有文件加上了日期了。你重新下载安装包试下
啊,是的,我之前用的是两个月前的版本… 谢谢您!
又来麻烦老师,大约昨前天开始,又不能下载评论了。有些文章404,想看了后随手保存,以备后查。麻烦老师有空更新处理下,先谢谢!
已经更新1.7.4版本,评论可以正常下载了。至于404这个我没发现啥原因,你可以提供下404文章的地址我看看
请问王老师,微信电脑版的版本有限制吗?3.9.12和3.9.9试了都没办法批量下载,证书安装无误,WIN10
没限制,没法批量下载就是证书安装不对,导致没法抓包的问题。可以翻翻评论区和github的 issues ,有不少人遇到同样的问题。
谢谢老师更新,留个赞赏码吧,微表心意。404说的不是软件bug,跟软件无关,是公众号文章莫名其妙不见了,不好意思浪费你的时间了。
最新版本保存到数据库的内容貌似有问题,content 和 md_content 本地文件内容是对的,但是存库,content 存的源 html content,md_content 是空的
还是不能下载评论哦 最新版 求修复
已修复
下载19年以前的文章会闪退,不知道什么原因