Как с hh.ru спарсить более 2000 записей

Подскажите пожалуйста, хочу спарсить более 2000 вакансий с hh, каким образом это можно сделать? Мой участок кода, который отвечает за парсинг

def parser(pages=20):
    result = get_page(URL)
    data = []
    if result.status_code == 200:
        for page in range(pages):
            while len(data) < 2000:
                try:
                    result = get_page(URL, params={'text': 'Python','per_page':'100','page':page})
                    data.extend(get_content(result))
                    save_to_csv(data, CSV)
                except:
                    sleep(.5)
        if len(data) >= 2000:
            for page in range(pages):
                result = get_page(URL, params={'text': 'Python','per_page':'100','page':page})
                save_to_csv(data, './data/data{}.csv'.format(len(os.listdir('./data/'))))
parser()

Ответы (1 шт):

Автор решения: BlueScreen

К сожалению HH не выдаёт больше 2000 вакансий ни по какому запросу, ни через API, ни через браузер. Для примера вот пример выдачи по запросу: "Автомобильный бизнес": Найдено 20 420 вакансий, однако страниц в выдаче всего 40, по 50 вакансий на странице - В документации к API написано, что максимальная глубина выдачи - 2000

При указании параметров пагинации (page, per_page) работает ограничение: глубина возвращаемых результатов не может быть больше 2000. Например, возможен запрос per_page=10&page=199 (выдача с 1991 по 2000 вакансию), но запрос с per_page=10&page=200 вернёт ошибку (выдача с 2001 по 2010 вакансию) - источник

Скорее всего такое ограничение сделано для того что бы защититься от скачивания ВСЕХ вакансий с HH.

→ Ссылка