前言
这一题没有非常多的技巧,主要是卡在headers里面字典的顺序
思路
观察到每次返回数据前之前都需要先访问jssm接口

细致观察后发现作者意图是先获取请求获取jssm返回的set-cookie,然后添加到3后的cookie中获取数据
最后解题
python 代码
import requests
from collections import Counter
num_list = []
session = requests.session()
headers = {
'user-agent':'yuanrenxue.project',
'content-length': '0',
'accept': '*/*',
'referer': 'https://match.yuanrenxue.com/match/3',
'accept-encoding': 'gzip,deflate,br',
'accept-language': 'zh-TW,zh;q=0.9,en-us;q=0.8,en;q=0.7',
'cookie':'sessionid=mkd0y5h364zorpr33f8uxu6ft5a0pj2l;'
}
list_num = []
session.headers = headers
for page in range(1, 6):
resp = session.post('https://match.yuanrenxue.com/jssm')
print(resp.headers)
response = session.get(f"http://match.yuanrenxue.com/api/match/3?page={page}")
print(response.json())
for each in response.json()['data']:
list_num.append(each['value'])
print(Counter(list_num))
print(Counter(list_num).most_common(1)[0][0])
# 8717