首先打开请求包,可以看到这个数据在该包
可以看到这里面的载荷是被加密的
那么可以从以下信息判断这个是ajax请求
我们就可以直接去搜索ajax
可以看到此时的加密逻辑
那么直接更改每一页的page,获取value求和
py
import requests
import execjs
cookies = {
"cookie":"Hm_lvt_434c501fe98c1a8ec74b813751d4e3e3=1736926553,1736926992,1737270811,1737537681; Hm_lvt_9bcbda9cbf86757998a2339a0437208e=1737270847,1737537693,1737869018; HMACCOUNT=14B2591D3DAF94F6; sessionid=625940xvf499a0gyrpfzpap0qxy3uyuq; Hm_lvt_c99546cf032aaa5a679230de9a95c7db=1737270847,1737537660,1737869019; qpfccr=true; no-alert3=true; tk=-4745678829911603310; Hm_lpvt_9bcbda9cbf86757998a2339a0437208e=1737869040; Hm_lpvt_c99546cf032aaa5a679230de9a95c7db=1737869052"
}
headers = {
'authority': 'match.yuanrenxue.cn',
'accept': 'application/json, text/javascript, */*; q=0.01',
'accept-language': 'zh-CN,zh;q=0.9',
'referer': 'https://match.yuanrenxue.cn/match/12?page=5&m=eXVhbnJlbnh1ZTU=',
'sec-ch-ua': '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
'x-requested-with': 'XMLHttpRequest',
}
sum = 0
for page in range(1, 6):
sign = execjs.compile(open("猿人学.js", 'r', encoding='utf--8').read()).call('main1', str(page))
print(sign)
#运行js文件这个语法记好,
params = {
'page': page,
'm': sign,
}
response = requests.get('https://match.yuanrenxue.cn/api/match/12', params=params, cookies=cookies, headers=headers)
data = response.json()["data"]
for i in data:
sum += i["value"]
print(sum)
js代码:
js
function main1(page){
return btoa("yuanrenxue"+page);
}