微信公众号文章下载器(所有文章)是一款用于下载PC版微信公众所有文章数据工具,设计得比较简单,就是一步一步来,没有使用多线程之类的,也没有以前大佬的那么多功能。session参数有效时间为30分钟,超过30分钟就会超时,需要重新获取。
软件环境:
VS2015+C#+.NET4.0+Fiddler+SQLITE
SQLITE是用来存放文章列表信息的:标题、链接、状态、文章类型等信息
本软件提供源代码,基本的注释都有,需要的可以下载修改。
文章列表获取的原理:当一次文章列表获取完成时,会在数据表中记录最后一次完整获取的时间,当下次再获取同一公众号时,会从最新的开始获取,然后一直找到上次完整获取时间的前3天。比如上次完整获取为2022-6-3日,这次会从最新的开始,一直获取到2022-6-1日为止,冗余几天是为了防止漏掉文章。
所以如果没有一次完整获取文章列表,那就会每次都从头到尾的获取一次。
使用说明:
1、文章下载后,放在软件的根目录下,以公众号名命名的文件夹
2、显示 ok 2022/6/20 16:37:57 的那条信息表示的是获取文章列表成功,文章列表存放在SQLITE数据库中,即:Database.db 文件中,可以用SQLite Expert Personal软件打开,软件有免费版本。当公众号的文章比较多的时候,需要一定的时间才能下载完成。
3、出现:success: 文章标题(http://mp.weixin.qq.com/XXXXXXXX),获取文章成功。 2022/6/20 16:38:41 才表示开始下载文章,出现这个时,根目录下才有公众号命名的文件夹及文章发布时间和文章标题命名的html文件。
文章存放形式
软件功能:
获取一个公众号里的所有文章,然后保存成HTML文件。一篇文章一个HTML文件。
不实现功能:付费文章隐藏了的不能下载,视频不能下载,音频没有下载。图片没有下载,直接使用图片链接地址。
下载时间:假设1000篇文章,没有出错等情况下,下载完成所需时间:1000/10*20+1000*20=6.2小时。
获取文章列表的参数每30分钟过期一次,1000篇文章中间需要重新获取一次参数。
觉得时间太久的,可以自行修改 获取时间间隔,不建议过快,太频繁有可能会触发微信的防采集机制而限制访问某公众号。
由于采集太快还导致一段时间限制访问某公众号的,一般隔天会恢复。(使用20秒的间隔测试过采集多个公众号,合计大几千文章没有出现过限制访问的情况)
注意:虽然测试过采集多个公众号,不过由于微信文章表示形式多样,可能会出现采集出错或是采集后内容与原文不一致的情况。
使用方法:
1、先关掉所有正在打开的公众号文章。
2、点击【①获取参数】,然后再打开需要下载文章的公众号,选择打开公众号里任意一文章。
3、文章加载完全后,【运行日志】里会显示获取的各项参数。当参数获取完成后,会自动开始获取文章。
4、请不要多开本软件。
获取一个公众号里文章的流程:
先获取必须的参数-->获取公众号的所有文章并入SQLITE数据库里-->再从数据库里取出文章,一篇一篇下载并做标记。
获取内容:
只是把文章的内容保存,没有做处理。图片使用的是网络地址,没有保存留言,可以自己修改添加上去。
会产生的问题及解决方法:
1、当正在获取参数的时候,浏览器可能会出现:【未连接:有潜在的安全问题】,而不能浏览网页。
解决方法:大概原因是Fiddler的证书问题,只需要等参数获取完成或手动停止参数获取即可恢复。
2、当没有关闭现有打开的公众号文章时,此时点击【获取参数】有可能会获取到当前浏览文章的参数,当你要获取另外一个公众号的数据时,可能会出现参数错误的情况。
解决方法:先关掉所有正在浏览的公众号文章,然后再点击【①获取参数】,再打开需要下载的公众号的任意一文章。
3、出现提示error类的信息问题。
解决方法:一般按照方法重试一/几次就可以。如果不行,可关掉软件重新打开。
4、在获取参数时,软件意外关闭或是主动关闭,再访问网页时会提示:【代{过}{滤}理服务器拒绝连接】。
解决方法:这是由于在获取参数时,软件会修改系统的代{过}{滤}理,如果没有停止,该代{过}{滤}理会一直存在。只需要重开软件,点击【①获取参数】,然后再点击【①停止获取】即可。
5、正在获取文章时,软件意外或主动关闭后,重新打开后,以前文章是否会重复获取或下载。
答:不会重复,在获取文章列表时关闭,下次重开后,还是会重第一篇文章开始获取,找到重复的会自动跳过。
当在下载文章时关闭,下次重开后,会从下一篇未下载的文章开始下载。
6、由于Fiddler证书安装问题,可能会出现其它未知错误,请使用搜索引擎查找相关解决方法,或提供可复现的方案进行回帖。
7、有时候会出现打开文章后,参数没有获取完全,一直不进行采集。
解决方法:关掉文章后再打开一次一篇文章即可,尽量不使用刷新,有些参数只有第一次打开才有。
8、软件被WIN10的安全中心删除了怎么办?
解决方法:通过安全中心,添加到排除列表里面。
更新内容:
1、保存留言
2、证书安装等BUG修改
3、提示优化