python3 登录公众号并抓取数据

   日期:2024-12-24     作者:czdytfhm4       评论:0    移动:http://w.yusign.com/mobile/news/2198.html
核心提示:公司有一个微信公众号,每天都会推送同事原创的文章,技术类、文学类、生活类什么都有。虽然微信本身提供了报表功能

公司有一个微信公众号,每天都会推送同事原创的文章,技术类、文学类、生活类什么都有。虽然微信本身提供了报表功能,但是不满足我们自己的运营需求,需要手工统计下每月的数据,后来我帮忙写了脚本抓取数据

目标

  • 登录微信公众号
  • 获取图文分析数据
  • 获取用户分析数据

相关工具

python3 登录公众号并抓取数据

抓包
Fiddler+chrome network
请求生成
chrome postman
编辑器
pycharm

通过抓包工具可以分析出步骤如下

  1. 初始化登录页面
  2. 提交用户名密码
  3. 获取登录二维码
  4. 定时(我设置的是每一秒)检测二维码状态:未扫描,已扫描,已登录,超时(这个未做测试,不过应该有这个环节
  5. 二维码登录成功后,调用登录接口,获取首页和token(每次登录成功的token都不一样,在请求数据的时候token为必填参数
  6. 访问登录成功后的页面
  7. 开始抓取数据

有几个点需要注意下

  • 必须要初始化页面,获取cookie中的u_id
  • 密码是32位小写md5加密的,不能明文提交(这个可以通过抓包发现,实例代码中配置的是加密过后的数据
  • token必须获取,登录成功后请求数据都必须把token作为参数
  • 请求header必须加 ‘referer’: ‘https://mp.weixin.qq.com/’ ,这个微信后台有做校验,虽然抓包的时候各个请求的header不一样,但是经试验,统一写成这个是没问题的,整个请求可以使用同一个header
  • 登录流程比较长,有严格的cookie校验,为了方便,我是用的是client = requests.Session()来接收session,串联整个请求
  • 示例代码使用的账号是被管理员加入了公众号运营的,所以登录很顺利,其他登录流程暂未尝试
  • 本次试验是在window 7,python3 环境

示例代码

这里面的wechat.login.config.py是配置的账号和密码,就不宜贴出来了,insert操作是把数据插入mongodb里面,这里就不赘述了

其中有很多的请求都是用postman生成的,这里简单介绍下
比如要用python3抓取百度首页

  1. 点击右方的code,左上角选择python->requests,就能自动生成代码了
     本文地址:http://w.yusign.com/news/2198.html    述古往 http://w.yusign.com/static/ , 查看更多
 
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号