• Как увеличить паузу между отправкой запроса и получением результата?

    @Rozalot Автор вопроса
    o5a, спасибо большое))) Попробую )
    Написано
  • Как увеличить паузу между отправкой запроса и получением результата?

    @Rozalot Автор вопроса
    Vindicar, Я хоть и не большой спец, но это то меня и смущает...
    Оснований не доверять сайту нет.
    Мой скрипт срабатывает буквально за 2 секунды, и пишет, что билетов нет... тогда как поиск по сайту думает над аналогичным запросом порядка 12-15 секунд, зато потом выдает целую кучу билетов ))) Может надо изменить целевой сайт для работы с API??? )))
    Написано
  • Как увеличить паузу между отправкой запроса и получением результата?

    @Rozalot Автор вопроса
    Первый requests.get(), а именно: my_req = requests.get(f"https://www.travelpayouts.com/widgets_suggest_params отвечает исключительно за получение кодов аэропортов отправления и назначения.

    Эти коды нужны для поиска билетов, который реализуется только вторым requests.get() - result = requests.get(f'https://api.travelpayouts.com/aviasales/v3/prices_... (далее - запрос № 2)
    Постановка между ними таймера ничего не даст, так как пауза нужна исключительно в запросе № 2.
    То есть делаем запрос № 2, потом выжидаем паузу в 30 секунд (за это время на сайте формируется список из всех билетов, удовлетворяющих требованиям запроса), и только потом получаем ответ на запрос № 2.

    По поводу формирования URL с параметрами - каюсь, грешен, как раз изучаю... )))
    Написано
  • Как увеличить паузу между отправкой запроса и получением результата?

    @Rozalot Автор вопроса
    o5a, я просто пока учусь и много не понимаю, но на сайте написано следующее:

    Почему в API поиска я получаю меньше билетов, чем на сайте Авиасейлс?
    Когда вы используете API поиска авиабилетов в реальном времени, вам приходит ответ от тех же агентств и авиакомпаний, что и на сайте aviasales.ru. Самый распространенный случай, когда ответ меньше — это недостаточная пауза между отправкой запроса и получением результата.

    Дело в том, что для получения ответа от всех агентств требуется порядка 30 секунд. Если запросить результат раньше, то он может содержать не все данные.

    Вот я и хочу увеличить эту паузу )))
    Написано
  • Как увеличить паузу между отправкой запроса и получением результата?

    @Rozalot Автор вопроса
    import time

    import requests
    import json
    import pprint

    def set_airports_code_func(departure_airport, arrival_airport):
    my_req = requests.get(f"https://www.travelpayouts.com/widgets_suggest_params?q="
    f"Из%20{departure_airport}%20в%20{arrival_airport}")
    data = json.loads(my_req.text)
    departure_airport_iata = data['origin']['iata']
    arrival_airport_iata = data['destination']['iata']
    return [departure_airport_iata, arrival_airport_iata]

    departure_airport = 'Москва'
    arrival_airport = 'Санкт-Петербург'
    flight_date = '2024-07-01'

    try:
    airports_codes = set_airports_code_func(departure_airport, arrival_airport)
    print(airports_codes[0])
    print(airports_codes[1])
    except KeyError as exc:
    print('Такого рейса не существует.')

    result = requests.get(f'https://api.travelpayouts.com/aviasales/v3/prices_...?'
    f'origin={airports_codes[0]}&'
    f'destination={airports_codes[1]}&'
    f'departure_at={flight_date}&'
    f'sorting=price&'
    f'direct=false&'
    f'currency=rub&'
    f'limit=30&'
    f'page=1&'
    f'one_way=true&'
    f'token=526faf5fcd6a0fbfed0d5f9591e5e024')

    pprint.pprint(result.text)

    Это мой код.

    А это комментарий с сайта:
    https://support.travelpayouts.com/hc/ru/articles/2...
    "Когда вы используете API поиска авиабилетов в реальном времени, вам приходит ответ от тех же агентств и авиакомпаний, что и на сайте aviasales.ru. Самый распространенный случай, когда ответ меньше — это недостаточная пауза между отправкой запроса и получением результата.

    Дело в том, что для получения ответа от всех агентств требуется порядка 30 секунд. Если запросить результат раньше, то он может содержать не все данные."
    Написано
  • Как увеличить паузу между отправкой запроса и получением результата?

    @Rozalot Автор вопроса
    Да я не против первого ответа от сервера, просто хотелось бы, чтоб на его формирование у сервера было 30 секунд. Или такой параметр нельзя задать в requests.get()???
    Чтоб мне в качестве первого ответа от сервера пришел список не из одного элемента, а, к примеру из 10. При этом 9 других элементов списка будут сформированы как раз за эти 30 секунд...
    Заранее спасибо за ответ )))
    Написано