苏生不惑第167 篇原创文章,将本公众号设为星标,第一时间看最新文章。

关于备份之前写过以下文章:

再谈备份微博

一键备份微博并导出生成PDF,顺便用Python分析微博账号数据

再谈备份网页和公众号文章

如何备份可能被删的公众号文章和网页

想看的公众号文章被删了怎么办?

上面写的备份公众号方法都是单篇备份,如果你想备份某个公众号的所有文章,就有点太麻烦了,所以今天分享的是用Python一键备份某个公众号的所有文章,再也不用担心想看的文章被删了,这里就以我自己的公众号苏生不惑为例了,原理就是通过抓包抓取微信客户端的接口,用Python请求微信接口获取公众号文章链接再下载。

charles 抓包

常见的抓包工具有Fiddler,charles,这里用的charles,先去官网 https://www.charlesproxy.com/download 下载软件,然后打开微信客户端找到公众号,进入文章列表可以看到发过的文章。

不过charles没安装证书前获取不到https接口数据,显示unknown。安装证书后在 proxy->ssl proxying settings 添加域名和host 。再次抓取可以看到公众号文章接口数据了。

公众号文章的接口地址 /mp/profile_ext?action=getmsg&__biz=MjM5ODIzNDEx&f=json&offset=25&count=10&is_ok=1&scene=124&uin=MTU0MTQzNj&key=f57423 ,参数比较多,其中有用的参数 __biz 是用户和公众号之间的唯一id,uin是用户的id,这个是不变的,key 是请求的秘钥,一段时间就会失效,offset 是偏移量,count 是每次请求的条数,返回值可以看到返回数据包括文章标题titile、摘要digest、文章地址content_url、阅读原文地址source_url、封面cover、作者author ,只要抓取这些有用的数据就行了。

python 抓取公众号文章

上面分析了接口参数和返回数据,开始用Python请求微信接口就是了。

这里只抓取原创文章,我的公众号有160多篇原创,生成HTML文件2分钟就搞定了。用谷歌浏览器打开就能看。

生成的HTML文件还可以转成chm格式,需要先安装软件 Easy CHM,这是一款强大的CHM电子书或CHM帮助文件的快速制作工具 http://www.etextwizard.com/cn/easychm.html左侧是文章标题,右侧是文章内容,看起来非常方便。

还有含有文章标题和链接的 markdown  文件,关于markdown之前文章介绍过 用 Markdown 来写简历和 PPT。excel文件格式也有。

生成HTML,markdown和Excel都比较快,因为都是文本,下面开始导出PDF。

导出PDF

导出PDF用的工具是wkhtmltopdf  ,先到官网https://wkhtmltopdf.org/downloads.html  下载安装 wkhtmltopdf , 安装后设置环境变量,这个之前文章写过 那些你可能不知道的 windows 奇技淫巧,然后直接命令行就能生成PDF。

λ wkhtmltopdf http://www.baidu.com baidu.pdf
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

比如生成百度首页的PDF。Python中使用pdfkit 模块来调用wkhtmltopdf ,先用pip install pdfkit -i http://pypi.douban.com/simple --trusted-host pypi.douban.com来安装它。

再次运行程序,PDF文件也生成了。PDF也可以用谷歌浏览器直接打开,比如这篇一键解锁网易云音乐变灰歌曲。

不过由于生成PDF比较慢,文章多的话key参数会失效,需要重新获取,然后修改next_offset继续抓取。

这样就完美的把我公众号的所有文章下载到本地了,有HTML,PDF,Excel,markdown,chm 格式(在公众号后台回复 公众号 获取我的所有原创文章,如果你有想下载的公众号可以加我微信免费帮忙下载)。

目前有个问题是如果公众号有付费文章,下载的也只能看一部分内容。

还有文章的评论也是有接口获取的,有空再研究下。

大家的点赞和在看转发对我非常重要,如果文章对你有帮助还请支持下, 感谢各位!

公众号后台回复关键词 用途
微信 获取你的微信好友头像拼图及查看微信撤回消息
b站 获取下载b站视频工具及找回被删b站视频方法
视频 获取下载腾讯,优酷,爱奇艺,微博视频工具及去除logo脚本
百度网盘 获取加速下载网盘文件方法及查找电影电视剧网站
朋友圈 获取发空白朋友圈方法
微博 获取备份微博工具及分析微博账号数据
音乐 获取下载音乐工具及在线听歌网站
油猴 获取油猴脚本
谷歌 获取安装Chrome扩展方法
公众号 一键下载公众号所有文章

免费知识星球,每天更新

公众号 苏生不惑

扫描二维码关注或搜索微信susheng_buhuo

一键下载公众号所有文章,导出文件支持PDF,HTML,Markdown,Excel,chm等格式相关推荐

  1. python批量下载公众号历史文章(一)

    [新地址] Rabbit & Bear[半自动版]python批量下载公众号历史文章(一) | Rabbit & Bear (unclevicky.github.io) [背景] 原博 ...

  2. python 下载公众号文章_python3下载公众号历史文章

    最近担心一直关注的公众号的文章突然失踪,心心念念的文章一定要拽住自己手中才好.于是找了各种办法,其实网上有代理采集的,想想为了长久之计还是自己研究一个办法出来. 于是百度谷歌必应各种搜索引擎上手,第一 ...

  3. 微信公众号付费文章内测支持微信豆支付

    ​近日,部分微信用户发现,公众号付费内容正内测用微信豆支付,对用户来说就多了一种付费阅读的支付的方式. 去年12月份,微信新增了微信豆,其功能是用于支付微信内虚拟物品的道具,支持视频号直播中购买虚拟礼 ...

  4. 微信公众号精选文章API支持返回全文

    微信主页接口 请求方法 HTTP/HTTPS GET 数据来源 微信公众平台 接口地址 http://api.tianapi.com/weixin/home/?key=APIKEY&src=主 ...

  5. Python从放弃到入门,公众号历史文章爬取成pdf的项目实践与自主学习法

    这篇文章不谈江流所专研的营销与运营,而聊一聊技能学习之路,聊一聊Python这门最简单的编程语言该如何学习,我完成的第一个Python项目,将任意公众号的所有历史文章导出成PDF电子书. 或许我这个P ...

  6. 将微信公众号的文章保存到本地pdf

    关注机器之心有一段时间了,推送的文章质量非常高. 我习惯于在pdf上边看边批注,就需要把公众号的文章保存为pdf. 那么,如果直接全选复制粘贴,文字没问题,但是图片无法复制下来. 方法是, 1. 用电 ...

  7. 导出公众号历史文章,批量下载微信公众号数据分析

    功能:采集公众号,实时监测公众号的内容. 如何才能提高微信文章的采集速度? 采集文章工具都有哪些特点? 接下来给大家介绍一下 孤狼采集器 一.软件使用方法 第1步:开始采集自已即将要导出的文章 第2步 ...

  8. python项目实践之微信公众号历史文章批量下载

    项目: 有的微信公众号文章经常会被删或者和谐,所以想有个工具能一键导出公众号文章,正逢有想学python的想法,找到下面这个python项目: vWeChatCrawl-小V公众号文章下载(开源版) ...

  9. 公众号群发文章支持添加小程序

    微信小程序深夜凌晨放大招,公众号群发文章支持添加小程序,以下是微信公众平台的公告:为了方便用户在阅读文章时使用公众号提供的服务,公众号群发文章支持添加小程序. 公众号可将已关联的小程序添加到群发文章的 ...

最新文章

  1. ORACLE分区表详解
  2. Android环信爬坑指北(二)头像昵称好友备注显示
  3. 乔治华盛顿大学计算机科学专业,乔治华盛顿大学计算机专业排名如何
  4. c++ split 方法(转)
  5. 联想服务器重装2008,联想ThinkSystem机器安装2008R2详细教程
  6. webdriver高级应用- 操作日期控件
  7. 一款基于ijkplayer框架的音乐播放器(已开源)
  8. 小米解锁过程中验证失败怎么办,有什么处理方式
  9. 网页设计html5留言板代码,网页制作:( 留言板 ), 我想改变留言字体的颜色( 单项选择:红/黄/蓝 )代码改如何编啊?, 十分感谢!...
  10. 陈述句c语言,幼儿语言发展中最早产生的句型是()。A.陈述句 B.疑问句C.祈使句 D.感叹句...
  11. 百度界面代码及效果展示
  12. 三星s8php,三星S8 Type C接口连接电视体验
  13. 王牌英雄怎么服务器维护了,王牌英雄新手入门指南 王牌英雄玩法技巧
  14. java开发程序员培训班,成功跳槽阿里!
  15. C#控件篇 - 图表控件chart - 添加辅助边界线条
  16. Configuring Add-on Service
  17. Vue乱搞系列之axios发起表单请求
  18. 路由器ACL(访问控制列表)的类型及配置
  19. 中文 gbk gb2312 在线转换 编码码 对照表 自动转换 在线转换(推荐)
  20. 每周全球科技十大新闻(2020.9.14-9.20)

热门文章

  1. 数学建模算法模型--蚁群算法
  2. android n进入分屏代码分析_不只是分屏多任务,Android N 的这些特性也与你有关...
  3. 怎样选择不干胶标签贴纸
  4. maya计算机内存不足请保存,maya怎么渲染_Maya内存不足不能渲染怎么优化场景
  5. Flip PDF2.4.10,无需打开程序的图形环境
  6. 免费 IT 相关电子书下载网站 ( 绝对有你需要的, 还在等什么,  赶快收藏吧 )
  7. 使用https前安全锁中感叹号解决方法
  8. Chrome下最简分页打印方案
  9. php使用curl_exec 获取响应头存在多个HEADER问题解决
  10. js无缝间隙向上滚动