« FlightRadar24 » : différence entre les versions

De knowledge
Aller à la navigation Aller à la recherche
mAucun résumé des modifications
mAucun résumé des modifications
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 5 : Ligne 5 :


C'est très beau on peut jouer avec mais ce serait mieux de pouvoir programmer le truc.
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 <syntaxhighlight lang="bash">
pip3 install pyflightdata
</syntaxhighlight>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:<syntaxhighlight lang="python3" line="1">
from pyflightdata import FlightData
f=FlightData()
f.get_history_by_flight_number('AF22')[-2:]
</syntaxhighlight>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:<syntaxhighlight lang="json-object" line="1">
[{
'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
}
}
}]
</syntaxhighlight>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.

Version actuelle datée du 27 août 2023 à 19:03

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.