1、典型的两次请求的cookie反爬
2、浏览器发送两次请求,第一次请求获取更新的cookie,第二次请求带上更新的cookie返回正确的数据
3、要非常注意要使用火狐浏览器或者fiddle抓包工具,慎重选择谷歌浏览器,因为获取不到第一次请求
4、考察正则的使用,匹配出cookie值
代码:
import requests
import re
session = requests.session()
headers = {
'User-Agent': "yuanrenxue.project",
}
response = session.get('http://match.yuanrenxue.com/match/13')
reg = re.compile("'([a-zA-Z0-9=|_])'")
results = re.findall(reg, response.text)
cookie = ''.join(results)
yuanrenxue_cookie = cookie.split('=')[-1]
session.cookies.set("yuanrenxue_cookie", yuanrenxue_cookie)
sum = 0
for page in range(1, 6):
api_url = 'http://match.yuanrenxue.com/api/match/13?page={}'.format(page)
response = session.get(api_url, headers=headers)
data = response.json().get("data")
for v in data:
sum = sum+v.get("value")
print(sum)
###213133