星凤网
首页
当前位置 :首页 >新闻资讯 > 怎么写关于微信爬虫应该如何抓取朋友圈呢?

怎么写关于微信爬虫应该如何抓取朋友圈呢?

作者:星凤网 点击:341发布时间: 2021-05-10

现在很多朋友都会觉得小编在这里为大家介绍的很多关于微信的内容,我想大家应该基本上了解了一些关于怎么写关于微信爬虫应该如何抓取朋友圈呢?下面在这里就让小编在这里为大家好好的介绍一下关于怎么写关于微信爬虫应该如何抓取朋友圈呢?

微信公众号爬虫抓取,公众号爬虫抓取是什么原理?下边小编为大家介绍微信公众号爬虫抓取的原理,看完以下内容后,您会更加了解微信公众号爬虫抓取。

微信公众号爬虫抓取原理是什么?

无论是微信公众号爬虫抓取新方案还是微信公众号爬虫抓取旧方案, 获取公众号文章列表, 获取阅读点赞, 获取评论等接口可以通过抓包来获取以上接口都是需要授权的, 授权参数主要有一下几个

uin : 微信用户对于公众号ID, 本来是一个数字, 传的是base64之后的结果

key : 与公众号和uin绑定, 过期时间大概是半小时pass_ticket: 另外一个验证码, 与uin进行绑定req_id: 在文章里HTML里, 每次请求会不一样, 用来构成获取阅读点赞接口的RequestBody, 一次有效获取阅读点赞接口有频率限制, 测试的结果是一个微信账号5分钟可以查看30篇文章的阅读点赞

微信公众号爬虫抓取旧方案原理:

以前的微信网页版限制还是没那么严格的, 当时采用的主要思路是使用微信网页版, 然后用requests去模拟登陆一下,

然后不停的去访问类似下面的接口爬取信息:

当时为了能让爬虫多个实例跑, 用了一下 Celery 框架(现在想简直智障, 多个实例跑直接把程序启动N次就行了啊。。摔), 由于是模拟登陆, 所以又写了一套复杂的东西去生成二维码, 然后获取登陆URL, 具体的模拟登陆原理参考这个 wechat-deleted-friends, 另外相关的Celery Task里写的逻辑太复杂了, 一个Task里就带上了 requests断线重连机制, 模拟登陆机制, 解析列表, 解析文章等, 另外由于是web版微信有一套蛮复杂的sync机制, 有时候直接掉线需要再次的去手动登陆, 很是麻烦。

之后web版微信已经无法的获取Key了(2016年开始), 此方案就废弃了。

微信公众号爬虫抓取新方案原理:

经leader提醒, 改了一下架构, 其中项目的整体结构如下:

Seeds 是一个producer, 在此处指通过某种方式获取 uin, key, pass_ticket 信息, 思路类似中间人攻击+解析squid日志。

Consumer C1从Q1队列中取出seeds后爬取某个公众号的文章列表, 解析后将文章Meta信息放入队列Q2。

Consumer C2获取文章原信息后就可以直接做入库&爬取操作了之后可以继续加队列然后去实现爬取文章阅读点赞的相关数据了, 由于有频率限制。一个微信号一天只能最多获取8000篇文章的阅读点赞信息。

抛弃了Celery和其默认选用的RabbitMQ队列, 这种东西实在太重了。。改用beanstalkd做消息队列,

目前的效果是单微信号每日更新4w左右的公众号文章, 如果想继续增加数量可以通过加机器来扩展Update

生成key的方式是写按键精灵的脚本去不断地生成文章列表URL然后不停的点击, 用squid做代理来获取带Key的URL(squid需要配置一下ssl-bump透明代理)

通过上面小编在这里为大家好好的介绍一下关于怎么写关于微信爬虫应该如何抓取朋友圈呢?我想大家怎么写关于微信爬虫应该如何抓应该基本上了解了很多关于怎么写关于微信爬虫应该如何抓取朋友圈呢?如果我们大家还有其他的问题的话,那就请关注星凤网这里吧!

星凤网是一家专业提供公众号交易、公众号迁移、公众号增粉、公众号买卖交易的平台,如果您有这方面的需求,欢迎电话咨询:19008205409。有任何疑问,可以【立即咨询】我们平台的客服或者添加微信号【WDYY809】。此文章来源于网络,如有侵权,请联系删除