猿人学爬虫十三题典型的cookie反爬

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

你可能感兴趣的:(猿人学爬虫十三题典型的cookie反爬)