python项目实践之微信公众号历史文章批量下载
项目:
有的微信公众号文章经常会被删或者和谐,所以想有个工具能一键导出公众号文章,正逢有想学python的想法,找到下面这个python项目:
vWeChatCrawl-小V公众号文章下载(开源版) 时间:2019.12.31
https://github.com/LeLe86/vWeChatCrawl
问题列表
**问题一:**跟项目中描述配置一样,用Fiddler没有抓到类似mp.weixin.qq.com/mp/profile_ext?action=getms的请求
原因:微信电脑端下滑公众号历史文章一直卡在加载,有的公众号可以,有的怎么试都不行,但是如果有加载成功就能抓到getmsg请求。有人说是微信服务端限制请求了,但我也没有频繁访问,为啥要限制我,这个还不清楚。
**问题二:**运行 python start.py,报错(Caused by SSLError(SSLError("bad handshake: Error([(‘SSL routines’, 'tls_pr
原因:SSL 验证默认是开启的,如果证书验证失败,Requests 会抛出 SSLError。
解决:参考 https://2.python-requests.org//zh_CN/latest/user/advanced.html#ssl
把start.py里的所有requests.get()语句加上verify=False,问题解决。
**问题三:**运行运行 python start.py pdf,没得到pdf
原因:不是很明确,但是根据解决办法看是因为路径中包含了两种斜杠,主要pdf文件路径
解决:看代码,
首先,初始化时文件路径全是/,然后在调用os.path.join时,后面的是\(关于 os.path.join的用法见https://www.cnblogs.com/an-ning0920/p/10037790.html),然后ridx = htmlpath.rindex("/") + 1(上图中是改后)获取的是最后一个/的位置,所以pdf路径中带了\htmlDir字样,所以我把/改成\,从而获取最后一个\位置。改后问题解决,得到pdf
备注:执行python start.py pdf出现的“Qt: Untested Windows version 10.0 detected!”对结果没有影响,觉得别扭可以去wkhtmltopdf官网(https://wkhtmltopdf.org/)下载一个最新的就会解决。
**问题四:**执行得到的pdf只有标题,没有正文,而html打开正常
原因:可能是微信更新了,这里会出这个问题,因为我前一天用了一个吾爱破解cs客户端软件(https://www.52pojie.cn/thread-948652-82-1.html)也是这个问题,按理之前肯定没这个问题。
初步猜测是wkhtmltopdf.exe的bug,但是最新版也同样有问题。
按照https://www.jianshu.com/p/57c897cfaa27尝试无果,自己改css标签也挺盲目的,费时间
还是等待WeChatDownload v3.265-Bate5,批量微信公众号文章下载小工具的作者内测后更新吧。
——2020.1.4继续更新
因为之前跟项目committer创的群里反馈过这个问题,他昨天及时更新了,解决了此问题,给committer点赞!
问题原因是微信公众号文章的html更改了样式,具体是哪些不清楚。看committer的解决方法也是挺简单粗暴的,直接把style给删了。
不过我执行python start.py pdf又报了错:
查看发现是有的文章被删了,所以获取不到attrs,
于是我修改成如下:
问题解决!
总结:
1、这个项目说实话,不是很完善,有很多不方便的地方,要手动抓取json请求。正如committer所说,学习意义大于实用意义,可以用这个项目来熟悉python,并做优化来练手。
2、优化方向:自动获取json请求、将生成的pdf合并成一个。
注:多个pdf合并,目前找到体验相对好的网址:https://www.ilovepdf.com/zh-cn/merge_pdf
python项目实践之微信公众号历史文章批量下载相关推荐
- 微信公众号历史文章批量下载保存导出方法
微信公众号阅读成为许多人每天的日常习惯,相信在每天关注的微信公众号中,总会有一些作者在持续地输出优质内容.这些内容也许是你所处领域的精华,也许其中的观点启人深思,也许是单纯地喜欢上了某个大V的文字. ...
- python爬取公众号历史文章_pythons爬虫:抓取微信公众号 历史文章(selenium+phantomjs)...
原标题:pythons爬虫:抓取微信公众号 历史文章(selenium+phantomjs) 大数据挖掘DT数据分析 公众号: datadw 本文爬虫代码可以通过回复本公众号关键字"公众号& ...
- 【Python爬虫】微信公众号历史文章和文章评论API分析
上一篇文章爬取微信公众号文章信息准备工作介绍了微信公众号历史文章和文章评论API的组成情况,历史文章API格式:https://mp.weixin.qq.com/mp/profile_ext?acti ...
- python下载微信公众号文章_python selenium 微信公众号历史文章随手一点就返回首页?郁闷之下只好将他们都下载下来。...
需求: 想阅读微信公众号历史文章,但是每次找回看得地方不方便. 思路: 1.使用selenium打开微信公众号历史文章,并滚动刷新到最底部,获取到所有历史文章urls. 2.对urls进行遍历访问,并 ...
- 微信公众号历史文章抓取
微信公众号历史文章抓取 目录结构 WechatSpider │ README.md │ chromedriver.exe │ main.py │ gzhspider.py │ requirements ...
- 订阅号微信公众号历史文章爬虫php,一步步教你怎么打造微信公众号历史文章爬虫...
原标题:一步步教你怎么打造微信公众号历史文章爬虫 开篇语: 邓爷爷曾说过:不管黑猫白猫,逮到耗子就是好猫.不管我是凑的还是笨办法堆出来的,确实把批量导出微信公众号所有历史文章的这个功能给做出来了,而且 ...
- 获取微信公众号历史文章列表页链接
通用公式:https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=这里替换你的biz== Tips:红字内容为下面找到的biz值,切 ...
- 如何抓取微信公众号历史文章?使用订阅号实现微信公众号历史文章爬虫
微信订阅号已经改版了,这篇文章已经过时了,不过可以提供还算有价值的参考. 微信公众号已经成为生活的一部分了,虽然里面有很多作者只是为了蹭热点,撩读者的 G 点,自己从中获得一些收益:但 ...
- python爱好者社区公众号历史文章合集_GitHub - acherie/weixin_crawler: 高效微信公众号历史文章和阅读数据爬虫powered by scrapy...
What is weixin_crawler? weixin_crawler是一款使用Scrapy.Flask.Echarts.Elasticsearch等实现的微信公众号文章爬虫,自带分析报告和全文 ...
最新文章
- 置顶带滚动效果_高端大气的滚动条图表,你学会了还怕老板们不喜欢,不升职吗?...
- HDU - 5874 Friends and Enemies 完全二分图
- java内存分配--引用
- Swift 条件编译,编译标记
- python高级开发面试题_python面试的100题(16)
- SVN被锁定的几种解决方法
- 计算机操作系统(9):深入理解B/S与C/S架构
- OpenGL调用GPU(七)
- 通过stream去重_分享几种 Java8 中通过 Stream 对列表进行去重的方法
- inDesign 教程,如何调整布局元素的大小?
- 用命令行查看mysql,利用命令行查看Mysql数据库
- Linux内核空间与用户空间信息交互方法
- 质量值体系 Phred33 和 Phred 64 的由来 及其在质量控制中的实际影响
- opencv 摄像头偏色问题 自动变亮问题 解决办法
- javascript 基础案例(循环)
- 方正飞翔加密锁_方正飞翔6.0数字版注册机
- 视频号算法推荐机制! 微信视频号怎么上热门?
- java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 		at
- 锂矿的这个逻辑,我自己都不敢相信了
- 新版 Win10 来了!网友:要被丑哭了。。。
热门文章
- 这几张图算是把Java的知识点囊括了
- TPDS(transactions on parallel and distributed systems)overleaf模板(含IEEE其他论文模板)
- 数据库加载出错时该怎么解决
- python 回文素数
- oracle-ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM
- 一个Java小白面试得力集团的收获总结
- 精简Windows Defender,关闭superfetch
- Discuz论坛搭建
- 项目Alpha冲刺(团队)-第十天冲刺
- php 访问php_PHP的美味邪恶