wechat articles scrapy
Project description
微信公众号文章爬虫(微信文章阅读点赞的获取)
安装
pip install wechatarticles
展示地址:
日更,获取公众号的最新文章链接,支持日更阅读点赞评论正文
技术交流可以直接联系,微信二维码见末尾(微信;wnma3mz)。烦请进行备注,如wechat_spider
注:本项目仅供学习交流,严禁用于商业用途(该项目也没法直接使用),不能达到开箱即用的水平。使用本项目需要读文档+源码+动手实践,参考示例代码(test
文件夹下)进行改写。
提示:另外,已经有很多朋友(大佬)通过直接看源码,已经基于这套项目,或者重写,用于各自的需求。
实现思路一:
- 从微信公众号平台获取微信公众所有文章的url
- 登录微信PC端或移动端获取文章的阅读数、点赞数、评论信息
完整思路可以参考我的博客: 记一次微信公众号爬虫的经历(微信文章阅读点赞的获取)
实现思路二:
- 登陆微信PC端或移动端获取公众号所有文章的url,这种获取到的url数量大于500,具体数量每个微信号不完全一致
- 同上种方法,获取文章阅读数、点赞数、评论信息
公开已爬取的公众号历史文章的永久链接,日期均截止commit时间,仅供测试与学习,欢迎各位关注这些优质公众号。
公众号列表
Notes
项目始于2017年,当前更新于2021年3月
项目代码进行调整,调用以前的接口请使用pip install wechatarticles==0.5.8
。
- 爬取失败的时候,可能有以下原因
- 运行的时候需要关闭网络代理(抓包软件),或者添加相关参数
- 参数是否最新,获取微信相关参数(cookie、token)时,一定要保证是对应公众号的任意文章
- 检查代码
- 需要关注对应公众号(Maybe)
- 思路一获取url时,每页间隔可以设定久一点,比如3分钟,持续时间几小时(来自网友测试)
- 获取文章阅读点赞时,每篇文章可以设定在5-10s左右,过期时间为4小时;若被封,大约5-10分钟就可继续抓取。
- 思路二获取url时,如果被封,需要24小时整之后才能重新抓取
参数文件说明见README
python版本
python
: 3.6.2、3.7.3
功能实现
功能
公众号相关API实例
利用公众号网页版获取微信文章url
此处有次数限制,不可一次获取太多url。解决方案多个账号同时爬取 test_WechatUrls.py
登录微信PC端获取文章信息(阅读点赞)
快速获取大量文章urls(利用历史文章获取链接)
微信文章下载为离线HTML(含图片)
学习/运行流程
可以看这个issue
相关文档
见博客与下方文档
official_cookie和token手动获取方式见这篇文档
wechat_cookie和appmsg_token手动获取的介绍,可以参考这篇文档
联系注意事项:
-
不(能)做自动登录微信公众号、微信
-
不(能)做实时获取参数
-
换一个公众号、参数过期,均需手动更新,如何获取参数均在文章中提及,请仔细查阅
-
不能做关键词搜索(即微信搜一搜功能),比如搜索所有含“科技”两个字的文章。
Q & A
-
项目能不能正常运行?
答:项目可正常运行。
-
xxx怎么运行/启动,需要获取哪些参数?
答:请看源码,并手动运行看看输出报错。
-
xxx参数怎么获取?
答:文档和博客均描述的很清楚,请仔细阅读。
-
我要xxxx,需要怎么做?
答:看文档,看源码
-
网页每日更新的方式怎么做的?
答:不是万能key。方案很简单,就是模拟点击+代理软件(Fiddler或Mitmproxy)拦截包,每日抓一次,如果你有更好的方案也欢迎告知。这部分未开源(如果有看到相关完整开源的可以提个issue学习一下),纯粹是因为配环境+定制化太麻烦,而且存在一定的问题。懂的看到这里能够实现的就能实现,如果问我我也不好回答你,太耗时耗力。
-
PC端微信与抓包软件Fiddler是必装的吗?
答:不是。这个只是我了解(认为)到,这两个是相对最容易完成整个过程的。代替方案:可以抓手机端的微信(安卓和IOS均可,安卓的要root才能抓到阅读点赞);抓包软件Fiddler这个可替代的很多,只要能进行HTTPS抓包查看数据就行。
-
大量公众号的文章怎么抓?
答:本项目无法实现。没很好的方案,参考5。切换一个公众号的时间成本大概要3-5分钟,视熟练程度而异。
附录:
问问题的正常方式:
- 描述清楚你运行的系统环境、Python环境...
- 运行了什么代码(改动了哪部分),报了什么错(请完整截图)?
- 自己根据报错做了哪些尝试?(文档中是否有描述?在网上搜索的解决方案有哪些)
请按照以上流程进行提问,如果加完好友问题表述不清,一律无视。请直接说问题or需求,不需要等我回复再说。谢谢!
本人吐槽
- 提问之前,请考虑一下,把问题反问自己,自己能不能明白?如果能,希望得到一个怎么样的回答?我希望用最短的时间,快速明白每一位朋友的问题,尽可能的帮助你。而不是反复来回在某些无意义的事情上沟通。
- "我没有Python基础,但我会xxx"。我的观点是大家各有所长,你会的我不一定会,我尊重每一个朋友。换句话来说,如果你没基础,我希望你能在尝试之后(仔细看文档,看源码)再来提问,多翻翻issue,多多上网搜索。
- 再次强调,本项目仅作为玩具(学习)性项目,不可能直接用于xxx目的,千万不要觉得我是小白,我能1小时速成(or 三天速成)。若无动手能力,学习兴趣,本项目可能不适合你。
- 你可能是为了研究/毕业需要相关数据,你可能是因为公司业务需要,你可能是因为甲方客服的需求。无论怎么样,这些都是与你自身利益相关,你提出合理的问题,我可以毫无保留的无偿帮助你。急需数据or速成,支持付费, 但强烈建议自学,付费仅仅是提供一个捷径,自学可以更扎实。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for wechatarticles-0.6.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b20e96d2d4678b6d90a62c76e8f303d14e46b221589ac0cee9316c78b6448738 |
|
MD5 | 2fc26567613e9db7b752e603db938091 |
|
BLAKE2b-256 | 1e7eab907dbecdcc965b065c728c7a6dafc0c64bd5f0e83ba763a046534446d0 |