我正在尝试使用Python 3requests.get
从中检索数据这一页 https://api.safecast.org/en-US/measurements?locale=en-US,使用其 API。我有兴趣使用以下方法从所有页面检索数据API https://api.safecast.org/en-US/home.
这是我迄今为止的尝试
data = 'https://api.safecast.org/en-US/measurements'
data = requests.get(url)
我的问题如下 - 当我检查长度时data
using
len(data.json())
它给了我25
。这是因为每页有 25 条记录,并且只返回页码 1。我需要从所有页面检索数据,而不仅仅是第 1 页。
根据API https://api.safecast.org/en-US/home,可以在查询中指定一些参数以过滤搜索。但是,我不知道如何在查询中指定页码。
我浏览了这 2 个 SO 帖子(1 https://stackoverflow.com/questions/18480680/get-data-from-multiple-pages-of-a-website, 2 https://stackoverflow.com/questions/7525216/data-api-ga-how-to-get-data-for-multiple-pages),但我找不到与我的问题相关的东西。
基于这个帖子 https://stackoverflow.com/a/42530172/4057186, 我试过
print(data.links)
但这只是给了{}
Question
有没有办法使用 API 一次从所有页面收集数据?另外,如何以编程方式确定页数?
您好,由于总共有 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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)