FlightRadar24

De knowledge
Aller à la navigation Aller à la recherche

On ne présenta pas FlightRadar24 un merveilleux outil pour savoir quoi vole et où.

https://www.flightradar24.com

La FRANCE

Ici on voit les vols au dessus de la France un Dimache de fin aout à 18h00.

C'est très beau on peut jouer avec mais ce serait mieux de pouvoir programmer le truc.

Il y a plusieurs librairies utilisables

  • FlightRadarAPI
  • pyflightdata

Peut être d'autres que je ne connais pas.

pyflightdata

C'est documenté ici documentée : https://pyflightdata.readthedocs.io/en/latest/index.html

Installation

Elle s'installe d'un simple

pip3 install pyflightdata

Il n'y a rien d'autre a dire

Exemple

On peut, par exemple, demander la liste des n derniers vols effectués d'un vol identifié par son code.

Par exemple le vol AF22 de Paris CDG à New York JFK programmé à 9:00 le matin.

On veut les deux derniers vols effectués:

from pyflightdata import FlightData
f=FlightData()
f.get_history_by_flight_number('AF22')[-2:]

Ligne 1 on initialise la librairie, en 2 on crée l'objet de requête et en 3 on réalise la requête.... ça donne:

[{
	'identification': {
		'number': {
			'default': 'AF22',
			'alternative': 'None'
		},
		'callsign': 'AFR022',
		'codeshare': 'None'
	},
	'status': {
		'live': False,
		'text': 'Landed 11:22',
		'estimated': 'None',
		'ambiguous': False,
		'generic': {
			'status': {
				'text': 'landed',
				'type': 'arrival',
				'color': 'yellow',
				'diverted': 'None'
			},
			'eventTime': {
				'utc_millis': 1692717742000,
				'utc_date': '20230822',
				'utc_time': '1722',
				'utc': 1692717742,
				'local_millis': 1692703342000,
				'local_date': '20230822',
				'local_time': '1322',
				'local': 1692703342
			}
		}
	},
	'aircraft': {
		'model': {
			'code': 'B77W',
			'text': 'Boeing 777-328(ER)'
		},
		'registration': 'F-GZNP',
		'country': {
			'name': 'France',
			'alpha2': 'FR',
			'alpha3': 'FRA'
		},
		'restricted': False,
		'serialNo': 'None',
		'age': {
			'availability': True
		},
		'availability': {
			'serialNo': True,
			'age': True
		}
	},
	'owner': {
		'name': 'Air France',
		'code': {
			'iata': 'AF',
			'icao': 'AFR'
		}
	},
	'airline': {
		'name': 'Air France',
		'code': {
			'iata': 'AF',
			'icao': 'AFR'
		},
		'short': 'Air France'
	},
	'airport': {
		'origin': {
			'name': 'Paris Charles de Gaulle Airport',
			'code': {
				'iata': 'CDG',
				'icao': 'LFPG'
			},
			'position': {
				'latitude': 49.012516,
				'longitude': 2.555752,
				'country': {
					'name': 'France',
					'code': 'FR'
				},
				'region': {
					'city': 'Paris'
				}
			},
			'timezone': {
				'name': 'Europe/Paris',
				'offset': 7200,
				'abbr': 'CEST',
				'abbrName': 'Central European Summer Time',
				'isDst': True
			},
			'visible': True
		},
		'destination': {
			'name': 'New York John F. Kennedy International Airport',
			'code': {
				'iata': 'JFK',
				'icao': 'KJFK'
			},
			'position': {
				'latitude': 40.639751,
				'longitude': -73.7789,
				'country': {
					'name': 'United States',
					'code': 'US'
				},
				'region': {
					'city': 'New York'
				}
			},
			'timezone': {
				'name': 'America/New_York',
				'offset': -14400,
				'abbr': 'EDT',
				'abbrName': 'Eastern Daylight Time',
				'isDst': True
			},
			'visible': True
		},
		'real': 'None'
	},
	'time': {
		'scheduled': {
			'departure_millis': 1692685800000,
			'departure_date': '20230822',
			'departure_time': '0830',
			'departure': 1692685800,
			'arrival_millis': 1692715200000,
			'arrival_date': '20230822',
			'arrival_time': '1640',
			'arrival': 1692715200
		},
		'real': {
			'departure_millis': 1692690401000,
			'departure_date': '20230822',
			'departure_time': '0946',
			'departure': 1692690401,
			'arrival_millis': 1692717742000,
			'arrival_date': '20230822',
			'arrival_time': '1722',
			'arrival': 1692717742
		},
		'estimated': {
			'departure': 'None',
			'arrival': 'None'
		},
		'other': {
			'eta_millis': 1692717742000,
			'eta_date': '20230822',
			'eta_time': '1722',
			'eta': 1692717742,
			'updated_millis': 1692717742000,
			'updated_date': '20230822',
			'updated_time': '1722',
			'updated': 1692717742,
			'duration': 27360
		}
	}
}, {
	'identification': {
		'number': {
			'default': 'AF22',
			'alternative': 'None'
		},
		'callsign': 'AFR022',
		'codeshare': 'None'
	},
	'status': {
		'live': False,
		'text': 'Landed 11:53',
		'estimated': 'None',
		'ambiguous': False,
		'generic': {
			'status': {
				'text': 'landed',
				'type': 'arrival',
				'color': 'red',
				'diverted': 'None'
			},
			'eventTime': {
				'utc_millis': 1692633231000,
				'utc_date': '20230821',
				'utc_time': '1753',
				'utc': 1692633231,
				'local_millis': 1692618831000,
				'local_date': '20230821',
				'local_time': '1353',
				'local': 1692618831
			}
		}
	},
	'aircraft': {
		'model': {
			'code': 'B77W',
			'text': 'Boeing 777-328(ER)'
		},
		'registration': 'F-GZNS',
		'country': {
			'name': 'France',
			'alpha2': 'FR',
			'alpha3': 'FRA'
		},
		'restricted': False,
		'serialNo': 'None',
		'age': {
			'availability': True
		},
		'availability': {
			'serialNo': True,
			'age': True
		}
	},
	'owner': {
		'name': 'Air France',
		'code': {
			'iata': 'AF',
			'icao': 'AFR'
		}
	},
	'airline': {
		'name': 'Air France',
		'code': {
			'iata': 'AF',
			'icao': 'AFR'
		},
		'short': 'Air France'
	},
	'airport': {
		'origin': {
			'name': 'Paris Charles de Gaulle Airport',
			'code': {
				'iata': 'CDG',
				'icao': 'LFPG'
			},
			'position': {
				'latitude': 49.012516,
				'longitude': 2.555752,
				'country': {
					'name': 'France',
					'code': 'FR'
				},
				'region': {
					'city': 'Paris'
				}
			},
			'timezone': {
				'name': 'Europe/Paris',
				'offset': 7200,
				'abbr': 'CEST',
				'abbrName': 'Central European Summer Time',
				'isDst': True
			},
			'visible': True
		},
		'destination': {
			'name': 'New York John F. Kennedy International Airport',
			'code': {
				'iata': 'JFK',
				'icao': 'KJFK'
			},
			'position': {
				'latitude': 40.639751,
				'longitude': -73.7789,
				'country': {
					'name': 'United States',
					'code': 'US'
				},
				'region': {
					'city': 'New York'
				}
			},
			'timezone': {
				'name': 'America/New_York',
				'offset': -14400,
				'abbr': 'EDT',
				'abbrName': 'Eastern Daylight Time',
				'isDst': True
			},
			'visible': True
		},
		'real': 'None'
	},
	'time': {
		'scheduled': {
			'departure_millis': 1692599400000,
			'departure_date': '20230821',
			'departure_time': '0830',
			'departure': 1692599400,
			'arrival_millis': 1692628800000,
			'arrival_date': '20230821',
			'arrival_time': '1640',
			'arrival': 1692628800
		},
		'real': {
			'departure_millis': 1692606711000,
			'departure_date': '20230821',
			'departure_time': '1031',
			'departure': 1692606711,
			'arrival_millis': 1692633231000,
			'arrival_date': '20230821',
			'arrival_time': '1753',
			'arrival': 1692633231
		},
		'estimated': {
			'departure': 'None',
			'arrival': 'None'
		},
		'other': {
			'eta_millis': 1692633231000,
			'eta_date': '20230821',
			'eta_time': '1753',
			'eta': 1692633231,
			'updated_millis': 1692633663000,
			'updated_date': '20230821',
			'updated_time': '1801',
			'updated': 1692633663,
			'duration': 26520
		}
	}
}]

C'est très long mais on voit bien la structure retournée.


On a un tableau de valeurs "dictionnaires" imbriquées.

  • identification décrit le vol lui même (ses différents codes)
  • status donne son état.
    • ['status']['live'] par exemple donne False si le vol est terminé et True si il est en vol.
    • ['status']['text'] donne 'Scheduled', 'estimateed xx:xx', 'Landed xx:xx' ou 'Canceled'. xx:xx correspond a l'heure d'arrivée (réelle ou estimée)
  • aircraft c'est l'avion qui fait le vol.

Pour le reste on regarde le texte ci dessus.