• Почему парсер не может спарсить страницу, которую ему задаю?

    Minute
    @Minute
    Пародирую программистов
    Сайт подгружает информацию JS-ом, который отправляет запрос на сервер. Можно посмотреть, какие запросы выполняются. (Firefox - Ctrl + Shift + E)
    И можно заметить, что при переходе на другую страницу выполняется какой-то запрос.
    GET - https://101hotels.com/api/facility/search
    Query string:
    r=0.0000530041150925655330.07492892309472692
    params={"city_ids":[13],"category_url":"points"}
    page=2

    Выполнил запрос без параметра r, и всё работает.
    import requests
    import json
    
    def gen_params(page, city_ids=[13]):
        return {
            'page': page,
            'params': json.dumps({
                'city_ids': city_ids,
                'category_url': 'points'
            })
        }
    
    data = []
    for page in range(1, 6):
        r = requests.get("https://101hotels.com/api/facility/search", params=gen_params(page))
        data.extend(r.json()['response'])
    
    print(json.dumps(data[-1], indent=4, ensure_ascii=False, sort_keys=True))
    Ответ написан
    Комментировать