gpt4 book ai didi

python - 在 requests.get 中循环获取分页参数

转载 作者:太空宇宙 更新时间:2023-11-03 14:06:42 26 4
gpt4 key购买 nike

我想招聘职位空缺。我的目标是只为一家公司提供职位空缺

import requests
from tqdm import tqdm_notebook
import pandas as pd
r = requests.get('https://api.hh.ru/vacancies?employer_id=80').json()
r

如果我这样做,默认情况下我只会得到 20 个职位空缺(0 页),尽管有 488 个职位空缺

'found': 488

'page': 0,
'pages': 25,
'per_page': 20

我可以制作循环

vac = []
for i in tqdm_notebook(range(0, 25)):
vac.append(requests.get("https://api.hh.ru/vacancies?employer_id=80", params={'page': i}).json())

但我只得到 25 个职位空缺(每页一个)。或者我可以这样做

vac = []
for j in tqdm_notebook(range(0, 20)):
for i in tqdm_notebook(range(0, 500)):
vac.append(requests.get("https://api.hh.ru/vacancies?employer_id=80", params={'page': i, 'per_page': j}).json())

但是这是一种非常昂贵的方式,我们重复了很多 Action 。如何解决?

最佳答案

您需要根据 API 的 documentation 手动设置 page 和 per_page 参数。 。但是,您不需要 per_page 参数的循环 - 它应该是一个静态数字 (20):

vac = []
for i in tqdm_notebook(range(0, 25)):
vac.append(requests.get("https://api.hh.ru/vacancies?employer_id=80", params={'page': i, 'per_page':20}).json())

此外,考虑根据分页结果的第一页使要迭代的页面范围动态化。

关于python - 在 requests.get 中循环获取分页参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48842082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com