我想要抓取这个网站的数据, http://ouhe.aiball365.com/league-center/detail?leagueId=31
每次点击页面的时候, 后台会看到一个 post 请求, "http://backend.aiball365.com/web/leagueSummaryWeb"
我把 header 和 data 复制出来, 模拟一个请求的时候。 post data 为: {"channel":"web","os":"browser","leagueId":"31","season":"2019-2020","round":2}
这个 round 是根据比赛轮数变化的, 因为每一页都是一个新的轮数, 所以也可以认为一页修改一个 round 值。
我写的代码是这样的
import requests
import json
url = "http://backend.aiball365.com/web/leagueSummaryWeb"
headers = {
'Accept': 'application/json',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-US;q=0.7,ja;q=0.6',
'Content-Length': '69',
'Content-Type': 'application/json;charset=utf-8',
'Host': 'backend.aiball365.com',
'Origin': 'http://ouhe.aiball365.com',
'Proxy-Connection': 'keep-alive',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36',
}
for i in range(1, 3):
data = {"channel": "web", "os": "browser", "leagueId": "31", "season": "2019-2020", "round": i}
response = requests.get(url, headers=headers, data=json.dumps(data))
with open('{}.txt'.format(i), 'w+', encoding='utf-8') as the_file:
the_file.write(response.text)
我这个代码应该获取到第一页和第二页的, 但是我实际上获取到的是第 32 页的而且两次获取的内容一样请问是怎么回事?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.