- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在通过 REST API 调用使用 Python 获取数据,如下所示...
result = json.load(urllib2.urlopen("https://api.somesite.com/v0/someLink?api_key=aaabbbccc"))
API 中内置了最多 100 个结果,因此我必须使用 Python 进行分页。
进行第一次调用后,result.nextPage 返回一个代码,然后我必须将其传递给下一个 API 调用,例如...
result2 = json.load(urllib2.urlopen("https://api.somesite.com/v0/someLink?api_key=aaabbbccc&nextPage=someCode"))
依此类推,直到我读完所有页面。
Python有没有内置的机制来处理这样的分页?
我可以自己写一个笨拙的循环,但不确定
感谢您对以最优雅的方式实现这一目标的任何想法。
最佳答案
Does python have any in-built mechanism to handle pagination like this?
没有。
如果没有更多页面需要加载,请编写一个带有 break
语句的 while True:
循环。
How to handle waiting for each page so I know I can proceed with the next call
urllib2.urlopen
不是异步的。您的代码将阻塞(即等待),直到请求完成。
How to handle the 'no more pages' event without erroring
这取决于您使用的 API。我希望 result.nextPage
为空/未在最后一页上设置。
How to combine the results of all calls into 1 variable after making all calls
随时将它们添加到列表中。伪代码:
url = "initial URL"
results = []
while True:
current_page = request(url)
results.append(current_page)
if (another page available):
url = "new url with next page code"
else:
break
我竭诚建议您使用the requests
module而不是非常简单的 urllib2.urlopen
。
关于python - 使用 python 进行安静的分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53456618/
You can run gdb without printing the front material, which describes gdb's non-warranty, by specifyi
我有一个 ant 构建文件,它通常在完全不同的环境中运行。默认情况下,我正在寻找与使用相同的行为: ant -q 但是,由于某些团队成员的配置不同,因此在每个人的环境中指定 -q 选项并不容易以统一的
我正在使用一个存储库,其中包含许多使用 create-react-app 创建的 Node 包,所有这些都是由 CI 系统构建和测试的。每个包的构建/测试,使用 react-scripts build
我读过有关浮点的内容,并且了解 NaN 可能是由运算产生的。但我无法理解这些到底是什么概念。它们有什么区别? C++编程时可以生成哪一个?作为一名程序员,我可以编写一个导致 sNaN 的程序吗? 最佳
我是一名优秀的程序员,十分优秀!