Python 3.5.2迭代get请求

时间:2016-12-23 00:04:41

标签: python-3.x python-requests

希望有人能告诉我这个剧本是否按照我的意图运作,如果没有解释我做错了什么。

我使用的RESTful API的参数pageSize介于10-50之间。我使用了pageSize = 50。还有一个我没用过的参数叫做pageNumber

所以,我认为这是提出请求的正确方法:

# Python 3.5.2
import requests

r = requests.get(url, stream=True)
with open("file.txt",'w', newline='', encoding='utf-8') as fd:
    text_out = r.text        
    fd.write(text_out)

更新
我想我明白了一点。我更详细地阅读了文档,但我仍然不知道如何从API获取整个数据集。以下是一些更多信息:

verbs = requests.options(r.url)
print(verbs.headers)
{'Server': 'ninx', 'Date': 'Sat, 24 Dec 2016 22:50:13 GMT',
'Allow': 'OPTIONS,HEAD,GET', 'Content-Length': '0', 'Connection': 'keep-alive'}
print(r.headers)
{'Transfer-Encoding': 'chunked', 'Vary': 'Accept-Encoding',
'X-Entity-Count': '50', 'Connection': 'keep-alive', 
'Content-Encoding': 'gzip', 'Date': 'Sat, 24 Dec 2016 23:59:07 GMT', 
'Server': 'ninx', 'Content-Type': 'application/json; charset=UTF-8'}

我是否应该创建会话并使用之前未使用的pageNumber参数来创建新的网址,直到' X-Entity-Count'是零?或者,有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我找到了一个帮助我解决这个问题的讨论......这个更新的问题应该被删除...... API pagination best practices