当前位置: 首页 > 面试题库 >

Python使用api分页请求参数/交易

公良渝
2023-03-14
问题内容

我正在使用Angel List(AL)API,想撤出San San
Francisco的所有工作。由于找不到适用于api的有效Python包装器(如果取得了进展,我想自己做一个),所以我使用了请求库。

AL API的结果是分页的,我无法弄清楚如何超越结果的第一页。

这是我的代码:

import requests
r_sanfran = requests.get("https://api.angel.co/1/tags/1664/jobs").json()
r_sanfran.keys()
# returns [u'per_page', u'last_page', u'total', u'jobs', u'page']
r_sanfran['last_page']
#returns 16
r_sanfran['page']
# returns 1

我尝试在上添加参数requests.get,但这没有用。我还尝试了一些非常愚蠢的操作-更改’page’键的值对我来说是不可思议的。

例如。 r_sanfran['page'] = 2

我猜这是相对简单的事情,但我似乎无法弄清楚,因此任何帮助都会很棒。

一如既往的感谢。

Angel List API文档(如果有帮助)。


问题答案:

阅读last_page范围内的每个页面并获取请求:

import requests

r_sanfran = requests.get("https://api.angel.co/1/tags/1664/jobs").json()
num_pages = r_sanfran['last_page']

for page in range(2, num_pages + 1):
    r_sanfran = requests.get("https://api.angel.co/1/tags/1664/jobs", params={'page': page}).json()
    print r_sanfran['page']
    # TODO: extract the data


 类似资料:
  • 我正在尝试执行Spotify API的curl请求。据我所知,您可以使用请求库,但我不确定如何使用Authorization参数。以下是卷曲的请求--任何帮助都非常感谢! curl-x获取“https://api.spotify.com/v1/audio-features/06Akebrkuckw0kreuwrnvt”-h“授权:承载{您的访问令牌}”

  • 购买了一款产品,使我们的用户能够通过HTTP发送/接收SMS。现在,我的工作是将其构建到我们当前的CMS平台中 以下是我试图发送的特定POST请求的文档:POST:发送SMS消息 这是我的简单python程序来测试功能。我得到一个通用的500内部服务器错误响应。我做错了什么?

  • 问题内容: 我有一个RESTful API,我已在EC2实例上使用Elasticsearch的实现公开了索引内容的语料库。我可以通过从终端机(MacOSX)运行以下命令来查询搜索: 如何使用或(不确定要使用哪个请求- 一直在使用urllib2,但听说请求更好…)将以上转换为API请求?我是否可以通过标题? 问题答案: 使用请求: 然后,根据您的API返回的响应类型,您可能需要查看或(或可能先检查)

  • 我有一个RESTful API,我在EC2实例上使用Elasticsearch实现来索引内容语料库。我可以通过从我的终端(MacOSX)运行以下命令来查询搜索: 我如何使用python/requests或python/urllib2将上述内容转换为API请求(不确定应该选择哪一个-一直在使用urllib2,但听说请求更好?我是作为标题传递还是以其他方式传递?

  • 可以在模板中直接使用$Request对象,直接输入它的属性或调用它的大部分方法,但只支持方法的第一个参数; // 调用Request对象的get方法 传入参数为id {$Request.get.id} // 调用Request对象的param方法 传入参数为name {$Request.param.name} // 调用Request对象的param方法 传入参数为post.post_title

  • 可以在模板中直接使用$Request对象,直接输入它的属性或调用它的大部分方法,但只支持方法的第一个参数; // 调用Request对象的get方法 传入参数为id {$Request.get.id} // 调用Request对象的param方法 传入参数为name {$Request.param.name} // 调用Request对象的param方法 传入参数为post.post_title