微信公众号点赞量,阅读量内容等数据采集

2022年11月22日 23:35 ry 36

最近没事想看下我们学校的微信公众号数据,对于我们搞代码的人来说直接干他,经过研究测试发现要想一次性全部搞下数据,得先注册下微信公众号号,在里面实现搜索翻页操作即可,话不多说,开干。登录微信公众号平台官网,注册了后点击草稿箱,然后点击图文模板,如图所示点击新建图文模板,如图

点击超链接,如图所示点击选择其他公众号,然后随便搜索一个公众号,这里我选择了我的学校公众号,如图所示第一个公众号选择点击,可以看到页数,每页显示5条数据,如图所示打开开发者工具,查看对应数据包,如图所示

查看其参数,如图所示接下来我们用代码模拟下,看下有没有数据包

import requests,os
import time,random
import pandas as pd


fakeid = 'MjM5NzE1ODY5Nw=='
headers = {
    'cookie': 'appmsglist_action_3082840558=card; RK=X58tlA7FH3; ptcz=b2d24266d3479bef9c57ddd08f54442160dbfb6f88c2ee6a160fde97a91ae3a8; eas_sid=b1X6u6O8S8w497o4A5x3c2c1i8; pgv_pvid=9032741998; ua_id=s75eJXeRJxx1kvs8AAAAAOQIKmUqibpcFt7JJvUi8-U=; wxuin=69076741732777; rand_info=CAESIMdWHLz3c18dJME1qGnDK/fvmL1v4Ct9QND3Kpb66+o2; slave_bizuin=3082840558; data_bizuin=3082840558; bizuin=3082840558; data_ticket=JL496d7Ja47LCKUhDSxCP+zCvku3BWCW/9qy1CBeswJVuCItSp98dPzitb20th95; slave_sid=OWY5S21zZjFjSE9QOUdsalRvQ1VSZ2tob1JEd3Y0VGhlanpORElOUGZyZG1WY1hSTXI5eHhlYVJQS1Njck5KNldiYV9RR1hqZnNzV3RJWVh2SDNPdVdOR0RFZVRpcHZtUWh6cHFlMml5RlFNZGJYRnpTYkVLOEFpRjQ0QllNVGl1MDBURnJvMGpHUkw4eEJ2; slave_user=gh_a43d0edd04d8; xid=b45338820f535d59c7e66786c5ac70f1; mm_lang=zh_CN; _clck=3082840558|1|f6s|0; cert=StlHgRE5JoTrbW1I4Dv720nDXb7C4k_S',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.3',
    
}
def zh(time_sjc):
    b = time.localtime(int(time_sjc))
    c = time.strftime("%Y-%m-%d", b)
    return c
url = 'https://mp.weixin.qq.com/cgi-bin/appmsg'
for page in range(1,443):
    params = {
        'action': 'list_ex',
        'begin': f'{(page-1)*5}',
        'count': '5',
        'fakeid': f'{fakeid}',
        'type': '9',
        'query': '',
        'token': '1333131664',
        'lang': 'zh_CN',
        'f': 'json',
        'ajax': '1',
    }
    r = requests.get(url,headers=headers,params=params,verify=False)
    print('第{}页'.format(page))
    print('*'*100)
    print(r.json())

结果如下

数据可以出来,现在要抓里面详情也的数据了,这里我用真机抓包下,打开微信公众号,点开上面箭头的第一条标题详情页,开始抓包,手机上第一条的数据如图所示

抓包的数据如图所示

查看url,发现是post请求,而且里面参数很多,为了不必要的参数我进行了测试,其中重要的参数是pass_ticket和appmsg_token,mid,sn,idx,__biz这几个,后面四个好办,直接在我们第一此代码请求结果中的link,如图所示而前面2个参数就不知道咋搞了,经过测试发现不同公众号不一样,同一个公众号的都一样(无法实现批量公众号采集),好像过了一天后这2个就变了,针对我这个公众号这里姑且给他写死吧,link为详情页的数据,那么整体思路就很清晰了,先翻页请求数据,然后获取数据中的link详情链接,同时对链接进行分割获取__biz,mid,idx,sn。然后对link进行post请求,请求参数data为抓包里面的数据,里面包括pass_ticket和appmsg_token,很简单。思路有了,详细代码我就补贴了,直接看代码运行结果,如图所示搞定!

欢迎发表评论~

点击此处登录后即可评论


评论列表
暂时还没有任何评论哦...

赣ICP备2021001574号-1

赣公网安备 36092402000079号