我想解决空缺。我的目标是解决一家公司的职位空缺
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())
但这是一种非常昂贵的方式,我们重复很多动作。如何解决?
答案 0 :(得分:1)
您需要根据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())
另外,请考虑根据分页结果的第一页使页面范围动态迭代。