当前位置: 首页 > 知识库问答 >
问题:

Python 3.5.2迭代get请求

祁远
2023-03-14

希望有人能告诉我这个脚本是否按我预期的方式运行,如果不能解释我做错了什么。

我使用的RESTful API的参数pageSize范围为10-50。我使用pageSize=50。还有一个我没有使用的参数叫pageNumber

因此,我认为这是发出get请求的正确方式:

# 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)

UPDATE
我想我理解得更好一点了。我更详细地阅读了留档,但我仍然不知道如何从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参数创建一个新url,直到“X-Entity-Count”为零吗?或者,有更好的方法吗?

共有1个答案

袁法
2023-03-14

我发现一场讨论帮我澄清了这件事。。。此更新的问题可能应该删除。。。API分页最佳实践

 类似资料:
  • 我正在用Application/JSON数据发送原始POST请求到邮递员服务器。我需要使用这个JSON对象,并在请求前脚本中追加一些数据。但是我只能找到如何访问环境变量,而不能请求主体。有人知道吗?谢了!

  • 给定这样一个对象: 用法如下: 我想用更面向对象的东西来代替这个while循环,比如: 因此,我可以很容易地,例如,使匹配流,坚持使用流畅的API等。 问题是,我不知道也找不到更简洁的方法来创建这个流或迭代器。像上面这样的匿名类对我来说太冗长了。 我曾希望在jdk中找到像或这样的东西,但到目前为止还没有运气。毫无疑问,像apache commons或番石榴这样的库为此提供了一些东西,但让我们说我不

  • 向传递的 URL 发出一个 GET 请求。 使用 XMLHttpRequest web API 向给定的 url 发出 get 请求。 通过调用给定的 callback 和 responseText 来处理 onload 事件。 通过运行提供的 err 函数,处理onerror事件。 省略第四个参数 err ,默认将错误记录到控制台的 error 流。 const httpGet = (url,

  • 你竟任着刚硬不悔改的心,为自己积蓄忿怒,以致神震怒,显他公义审判的日子来到。他必照各人的行为报应各人。凡恒心行善,寻求荣耀、尊贵和不能朽坏之福的,就以永生报应他们;惟有结党不顺从真理,反顺从不义的,就以忿怒、恼恨报应他们。(ROMANS 2:7-8) 迭代 Bill正在介绍他的项目,嘴里不断蹦出“loop、iterate、traversal、recursion”这些单词,夹杂在汉语汇总。旁边的小白

  • 什么叫做迭代? 比如在 Java 中,我们通过 List 集合的下标来遍历 List 集合中的元素,在 Python 中,给定一个 list 或 tuple,我们可以通过 for 循环来遍历这个 list 或 tuple ,这种遍历就是迭代。 可是,Python 的 for 循环抽象程度要高于 Java 的 for 循环的,为什么这么说呢?因为 Python 的 for 循环不仅可以用在 list

  • 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。 在Python中,迭代是通过for ... in来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码: for (i=0; i<list.length; i++) { n = list[i]; } 可以看出,Python的