我正在尝试使用Python 3 requests.get
通过其API从this page检索数据。我有兴趣使用API从所有页面中检索数据。
到目前为止,这是我的尝试
data = 'https://api.safecast.org/en-US/measurements'
data = requests.get(url)
我的问题是以下-当我使用{p>检查data
的长度时
len(data.json())
它给了我25
。这是因为每页有25条记录,并且仅返回第1页。我需要从所有页面而不是仅从第1页检索数据。
根据API,可以在查询中指定一些参数以过滤搜索。但是,我不知道如何在查询中指定页码。
我浏览了这2个SO帖子(1,2),但找不到与我的问题相关的内容。
我尝试基于this post
print(data.links)
但这只是给了{}
问题
是否可以使用API一次从所有页面收集数据?另外,如何以编程方式确定页数?
答案 0 :(得分:3)
嗨,由于总共有4458708页,您可以添加for循环并获取每页的json。检查以下代码
import requests
for page in range(1,4458709):
url = 'https://api.safecast.org/en-US/measurements.json?page=%s'%page
data = requests.get(url)
print data.json()