该内容已被发布者删除 该内容被自由微信恢复
文章于 2023年2月17日 被检测为删除。
查看原文
被用户删除
其他

批量保存公众号文章方法合集,附python教程

小懒人 懒人找资源 2022-05-04
小懒人发现 昨天文章 分享那么实用的软件阅读数却骤减,估计是公众号平台采取的乱序推送使很多粉丝没看到新发文,也难怪那么多公众号开始发“你可能看不到我了”这类的文章。然后请求星标置顶啥的。小懒人就不说这类的话了,大家觉得有帮助,拿到自己想要的资源就ok,觉得公众号合你口味,置顶也ok,或者后台回复“微信”加小懒人微信,新推文也会发朋友圈的。(小懒人没有分工作微信和生活微信哈,更不会给大家发垃圾信息,也请营销号们放过~)
正文

编辑了三小时的文章

今天算是技术贴~
前两天群友反馈 pycharm激活码生成器 失效了,昨天早上检查完程序顺手修复了,已更新~
信息爆炸时代,有太多冗杂的信息,它们分散着我们的注意力,金玉其外。但总有那些坚持优质输出的号主,在分享着自己对世界的见解。
经过这么多年的沉淀,公众号文章无意成为一块值得发掘的宝藏,咱们公众号也有不少粉丝通过微信搜一搜过来的。很多时候看到一个喜欢的公众号,怕他哪天消失了,那么备份保存下来就很有必要了。
总结一下几种关于公众号文章的备份方法~

方法1 :电脑端微信备份神器

电脑端微信批量备份,这个方法咱们粉丝应该不陌生。见文章:公众号备份神器,批量保存任意公众号文章,后台已经更新到最新版本,回复“公众号备份”即可领取。体验群群友据说备份了上T的文章,回头分享一下小懒人如何利用这备份下来的文章打造成知识素材库。

方法2

使用搜狗微信或者wechatsogou 这个python库,搜索到目标公众号然后批量保存。

方法3

通过流量抓包,使用fiddler或者其他中间流量代理的方法,代理移动端微信的流量以实现数据爬取,号搜就是这个方法。可以实现阅读数点赞数等数据,随便找一篇号搜的文章就知道了,:号搜(9):粥左罗公众号大数据分析和文章推荐。这类对新媒体运营人员比较有诱惑力,因为可以直观看出历史发文数据的变化规律。不过该方法需要找懒人购置号搜软件,这里就不展开了。

方法4

最后一个方法,是利用微信公众号接口,使用python批量爬取。
这篇文章将详细介绍原理和代码,源码也会一同送出~
该方法要求你可以登录公众号后台

获取cookie

登录后按F12或者右键检查打开浏览器开发者工具,刷新页面后在网络能看到加载的各类请求。
点击一个url,就能看到cookie的信息(cookie可以理解为你的信息准入,日常生活中也要养成保护好个人cookie的习惯)

使用一个脚本python脚本 get_cookie.py 对cookie进行格式化处理:
# get_cookies.py
import json# 从浏览器中复制出来的 Cookie 字符串cookie_str = "把字符串都复制到这里来"cookie = {}# 遍历 cookie 信息for cookies in cookie_str.split("; "): cookie_item = cookies.split("=") cookie[cookie_item[0]] = cookie_item[1]# 将cookies写入到本地文件with open('cookie.txt', "w") as file:# 写入文件 file.write(json.dumps(cookie))
这时候就会在本地生成一个cookie.txt,等会儿只要调用这个就能利用cookie。
接下来需要获取文章链接。
首先新建图文,然后在编辑界面上方可以看到超链接,点击此处。
弹出来后选择其他公众号
我们举菜头叔的槽边往事为例
点击的时候可以看到开发者工具里有新的网络请求。
根据懒人查阅的资料可以知道: begin 是从第几篇文章开始,count 是一次查出几篇,fakeId 对应这个公号的唯一 Id,token 是通过 Cookie 信息来获取的。
# download.py# 引入模块import requestsimport jsonimport reimport randomimport timeimport pdfkit
# 打开 cookie.txtwith open("cookie.txt", "r") as file: cookie = file.read()cookies = json.loads(cookie)url = "https://mp.weixin.qq.com"#请求公号平台response = requests.get(url, cookies=cookies)# 从url中获取tokentoken = re.findall(r'token=(\d+)', str(response.url))[0]# 设置请求访问头信息headers = {"Referer": "https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit_v2&action=edit&isNew=1&type=10&token=" + token + "&lang=zh_CN","Host": "mp.weixin.qq.com","User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36",}
# 循环遍历前10页的文章for j in range(1, 10, 1): begin = (j-1)*5# 请求当前页获取文章列表,改这里的fakeid就行 requestUrl = "https://mp.weixin.qq.com/cgi-bin/appmsg?action=list_ex&begin="+str(begin)+"&count=5&fakeid=MzU1NDk2MzQyNg==&type=9&query=&token=" + token + "&lang=zh_CN&f=json&ajax=1" search_response = requests.get(requestUrl, cookies=cookies, headers=headers)# 获取到返回列表 Json 信息 re_text = search_response.json() list = re_text.get("app_msg_list")# 遍历当前页的文章列表for i in list:# 将文章链接转换 pdf 下载到当前目录 pdfkit.from_url(i["link"], i["title"] + ".pdf")# 过快请求可能会被微信问候,这里进行10秒等待 time.sleep(10)
如果想直接利用代码,只需要把上面的requestUrl里的fakeid改成你的目标公众号的fakeid就行了,比如刚才看到槽边往事的链接是:
https://mp.weixin.qq.com/cgi-bin/appmsg?action=list_ex&begin=0&count=5&fakeid=MjM5MjAzODU2MA==&type=9&query=&token=310737197&lang=zh_CN&f=json&ajax=1
所以fakeid是
MjM5MjAzODU2MA
替换一下就行,其他不变。
另外大家可以看到这里是爬到文章链接后利用pdfkit模块去生成pdf的,所以需要在本地先安装wkhtmltopdf环境,
官网是
https://wkhtmltopdf.org/downloads.html
支持多系统,小懒人的知识星球备份就是利用该模块生成pdf的。下载完安装,然后pip install pdfkit,这时候调用pdfkit没问题的话就可以跑脚本了。
后台已经准备好get_cookie.pydownload.py两个脚本了,先把cookie复制到get_cookie.py里然后运行,然后在download.py里改变目标公众号的fakeid。接着执行download.py,等待让程序慢慢运行就可以了。
脚本里写的是只爬取前10页的文章,需要改变更多的自己改参数就行。
上图就是懒人爬的文章截图。
打开看到样式也是很不错。
代码也不是小懒人原创的,这里放后台一起给出了。有编程能力的或者正在学习python的可以去参考学习。
要说最方便的方法还是这个神器:公众号备份神器,批量保存任意公众号文章
没有任何技术要求,批量备份,连留言都可以存下来,可以控制速度还可以跳过已下载文章,截止日期,就不用自己写脚本那么折腾了。如果作者更新的话小懒人也会同步更新的~
今天的python代码下载地址:
https://lazyman.lanzous.com/ibvIYdrd21g
推荐阅读
WPS合集,再分享两个懒人推荐神器
分享几个实用破解软件

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存