春哥技术源码论坛

 找回密码
 立即注册
 

响应式网站源码任意下载

2020最新暴利项目海量素材源码任意下载
阿里云优惠码

低价定制APP

低价H5响应式网站建设
阿里云备案码广告位招租50元/每月轻松暴利赚钱
查看: 2537|回复: 0

微信公众号文章爬虫抓取实现原理解析(抓取阅读、文章)

[复制链接]
  • TA的每日心情
    开心
    4 天前
  • 签到天数: 82 天

    [LV.6]常住居民II

    1416

    主题

    1190

    回帖

    3万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    39105
    发表于 2016-9-10 08:00:59 | 显示全部楼层 |阅读模式
    无论是新方案还是旧方案, 获取公众号文章列表, 获取阅读点赞, 获取评论等接口可以通过抓包来获取
    以上接口都是需要授权的, 授权参数主要有一下几个
    uin : 用户对于公众号的唯一ID, 本来是一个数字, 传的是base64之后的结果
    key : 与公众号和uin绑定, 过期时间大概是半小时
    pass_ticket: 另外一个验证码, 与uin进行绑定
    req_id: 在文章里HTML里, 每次请求会不一样, 用来构成获取阅读点赞接口的RequestBody, 一次有效
    获取阅读点赞接口有频率限制, 测试的结果是一个微信号5分钟可以查看30篇文章的阅读点赞

    旧方案
    在2015年的时候微信网页版限制还是没那么严格的, 当时采用的主要思路是使用微信网页版, 然后用requests去模拟登陆一下,

    然后不停的去访问类似下面的接口爬取信息:
    1. Seeds 是一个producer, 在此处指通过某种方式获取 uin, key, pass_ticket 信息, 思路类似中间人攻击+解析squid日志

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

    3. Consumer C2获取文章原信息后就可以直接做入库&爬取操作了

    4. 之后可以继续加队列然后去实现爬取文章阅读点赞的相关数据了, 由于有频率限制。一个微信号一天只能最多获取8000篇文章的阅读点赞信息

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

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


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

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    春哥技术博客,精品商业VIP源码,我们致力于为中小站长建站降低成本,所有源码放心购买,没有春哥币?点击这里,或者手动付款后给客服QQ留言:2931393342,手动付款,点击这里
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|春哥技术源码论坛 |Sitemap

    GMT+8, 2024-5-3 07:03 , Processed in 0.067342 second(s), 31 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表