Я пытался использовать Flight Track:
попробуйте:
Код: Выделить всё
`import asyncio
import flightradar24
from datetime import datetime
from dateutil import parser
# Initializing the API client
fr24 = flightradar24.Api()
async def get_flight_status(**kwargs) -> dict[str, object]:
# Initializing input parameters
flight_number: str | None = kwargs.get('flight_number', None)
flight_date: str | None = kwargs.get('flight_date', None)
# If no date is specified, use the current date
if not flight_date:
flight_date = datetime.now().strftime("%Y-%m-%d")
else:
try:
# Try to parse any date format and convert it to YYYY-MM-DD
parsed_date = parser.parse(flight_date)
flight_date = parsed_date.strftime("%Y-%m-%d")
except ValueError:
return {"final_answer": f"Invalid date format. Please use a valid date format."}
# Getting flight information via Flightradar24
try:
flight_data = fr24.get_flight(flight_number)
if flight_data:
# Check the availability of key time fields
departure_time = flight_data['time']['scheduled'].get('departure', 'No data')
arrival_time = flight_data['time']['scheduled'].get('arrival', 'No data')
status = flight_data.get('status', {}).get('generic', {}).get('status', {}).get('text', 'No status available')
# Format the result for output
result = {
"flight_number": flight_number,
"departure_time": departure_time,
"arrival_time": arrival_time,
"status": status
}
return {"result_data": [result]}
else:
return {"final_answer": f"No flight data found for {flight_number} on {flight_date}."}
except Exception as e:
return {"final_answer": f"Failed to retrieve flight status. Error: {str(e)}"}
# Asynchronous function for execution
async def main():
flight_info = await get_flight_status(flight_number='EK148')
print(flight_info)
# Starting the program
if __name__ == "__main__":
asyncio.run(main())`
Код: Выделить всё
flight_data = fr24.get_flight(flight_number)
if flight_data:
# Check the availability of key time fields
departure_time = flight_data['time']['scheduled'].get('departure', 'No data')
arrival_time = flight_data['time']['scheduled'].get('arrival', 'No data')
status = flight_data.get('status', {}).get('generic', {}).get('status', {}).get('text', 'No status available')
Подробнее здесь: https://stackoverflow.com/questions/791 ... adar24-api