【发布时间】:2021-05-13 23:09:55
【问题描述】:
我的任务是编写一个函数来获取给定技术的工作数量。 注意:API 每页最多提供 50 个作业。 如果每页有 50 个职位,则意味着可能会有更多职位列表可用。 因此,如果每页有 50 个作业,您应该为下一页再次调用 API 以检查更多作业。 如果每页获得的作业少于 50 个,则可以将其作为最终计数。
以下是我的代码
baseurl = "https://jobs.github.com/positions.json"
def get_number_of_jobs(technology):
number_of_jobs = 0
tech = technology
page= 0
PARAMS = {'technology':tech , 'page': page}
jobs=requests.get(url=baseurl,params = PARAMS )
if jobs.ok:
listings = jobs.json()
number_of_jobs=len(listings)
if number_of_jobs==50:
page= page+1
PARAMS = {'technology':tech , 'page': page}
jobs=requests.get(url=baseurl,params = PARAMS )
if jobs.ok:
listings2 = jobs.json()
number_of_jobs= number_of_jobs + len(listings2)
return technology,number_of_jobs
现在我不知道如何在这个函数中进行分页?意思是如何检查是否有超过 50 个针对特定技术的职位发布以及是否再次运行代码并获取这些职位?
我将输出打印为
print(get_number_of_jobs('python'))
('python', 100)
有人可以帮忙吗?
非常感谢!
【问题讨论】:
-
为什么要写2个get请求?你应该为它写一个函数
-
能否给我完整的代码。
-
检查
while循环并相应地增加page。 -
@Suman 我再次编辑了代码,这是我的完整代码
-
@noora 请输入基本网址
标签: python api github pagination