Доброго времени суток!
Пишу на Python программу для получения через API сайта информации с помощью requests.get().
При запуске все работает в целом нормально, за исключением того, что информация с сайта приходит не в полном объеме; причина - недостаточная пауза между отправкой запроса и получением результата. Для получения полноценного ответа требуется порядка 30 секунд ожидания.
В этой связи вопрос: как можно увеличить эту паузу???
import time
import requests
import json
import pprint
from set_airport_code import set_airports_code_func
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=526faf5fcd6a0fbfedf9591e5e024')
pprint.pprint(result.text)
Комментарий aviasales.ru по вопросу неполного ответа на направляемый вопрос:
Когда вы используете API поиска авиабилетов в реальном времени, вам приходит ответ от тех же агентств и авиакомпаний, что и на сайте aviasales.ru. Самый распространенный случай, когда ответ меньше — это недостаточная пауза между отправкой запроса и получением результата.
Дело в том, что для получения ответа от всех агентств требуется порядка 30 секунд. Если запросить результат раньше, то он может содержать не все данные.