Python 3.x 抓取API时获取下一页
我正在尝试使用分页,并在完成当前页的刮削后转到下一页。这是我第一次抓取API,所以我有点迷路了,还没有在互联网上找到任何东西 问题:我需要做什么才能进入下一页 API: 代码(到目前为止我所掌握的):Python 3.x 抓取API时获取下一页,python-3.x,api,web-scraping,Python 3.x,Api,Web Scraping,我正在尝试使用分页,并在完成当前页的刮削后转到下一页。这是我第一次抓取API,所以我有点迷路了,还没有在互联网上找到任何东西 问题:我需要做什么才能进入下一页 API: 代码(到目前为止我所掌握的): crossfit API在分页部分提供了所有必要的信息。它给了你这样的东西: "pagination": { "currentPage":1, "totalPages":3440, "totalCompetitors":171977
crossfit API在
分页部分提供了所有必要的信息。它给了你这样的东西:
"pagination":
{
"currentPage":1,
"totalPages":3440,
"totalCompetitors":171977
},
要获取除1以外的页面,您需要更改url中的get参数:
不要写&page=1
,而是写&page=2
。最好使用可以传递相关参数的函数构建url,例如。
页面(20)的url_将返回
https://games.crossfit.com/competitions/api/v1/competitions/open/2018/leaderboards?division=2®ion=0&scaled=0&sort=0&occupation=0&page=20
希望这对您有所帮助。crossfit API在分页部分提供了所有必要的信息。它给了你这样的东西:
"pagination":
{
"currentPage":1,
"totalPages":3440,
"totalCompetitors":171977
},
要获取除1以外的页面,您需要更改url中的get参数:
不要写&page=1
,而是写&page=2
。最好使用可以传递相关参数的函数构建url,例如。
页面(20)的url_将返回
https://games.crossfit.com/competitions/api/v1/competitions/open/2018/leaderboards?division=2®ion=0&scaled=0&sort=0&occupation=0&page=20
我希望这对您有所帮助。快速简便的方法如下:
import requests
url = 'https://games.crossfit.com/competitions/api/v1/competitions/open/2018/leaderboards?division=1®ion=0&scaled=0&sort=0&occupation=0&page={}'
for link in [url.format(page) for page in range(1,5)]:
response = requests.get(link)
for item in response.json()['leaderboardRows']:
name = item['entrant']['competitorName']
print(name)
快速简便的方法如下所示:
import requests
url = 'https://games.crossfit.com/competitions/api/v1/competitions/open/2018/leaderboards?division=1®ion=0&scaled=0&sort=0&occupation=0&page={}'
for link in [url.format(page) for page in range(1,5)]:
response = requests.get(link)
for item in response.json()['leaderboardRows']:
name = item['entrant']['competitorName']
print(name)
这就是我面临的问题。我不能100%确定如何添加url以增加到2。@Ezzy我想回答了你问题的这一部分。这就是我面临的问题。我不是100%确定如何添加url以增加到2。@Ezzy我想回答了你的这部分问题。