免费查询航班信息的接口API
时间: 2023-12-12 16:05:10 浏览: 50
以下是一些提供免费查询航班信息的接口API:
1. Aviationstack:提供航班信息查询,包括航空公司、航班号、起降时间、机场信息等。API支持JSON和XML格式输出,每月免费查询5000次。
2. FlightStats:提供实时航班信息查询,包括航空公司、航班号、航班状态、起降时间、机场信息等。API支持REST和SOAP协议,每日免费查询1000次。
3. Skyscanner:提供航班搜索和价格比较服务,包括航空公司、航班号、起降时间、机场信息等。API支持JSON格式输出,每月免费查询250次。
4. OpenFlights:提供全球航班信息查询,包括航空公司、航班号、起降时间、机场信息等。API支持REST协议,每日免费查询1000次。
5. FlightAware:提供实时航班信息查询,包括航空公司、航班号、航班状态、起降时间、机场信息等。API支持REST和SOAP协议,每日免费查询500次。
请注意,这些API可能会有使用限制和限制条件,请确保您已经了解并遵守相关规定。
相关问题
给我写一下 飞猪API 的查询航班信息接口示例
飞猪API的查询航班信息接口示例:
请求URL:https://api.fliggy.com/search/flight_search.htm
请求方式:POST
请求参数:
| 参数名 | 参数类型 | 是否必填 | 参数说明 |
| ---------- | -------- | -------- | ------------------------------------------------------------ |
| searchType | string | 是 | 查询类型,固定值为flight |
| tripType | int | 是 | 行程类型,1为单程,2为往返 |
| depCity | string | 是 | 出发城市的IATA代码,如BJS |
| arrCity | string | 是 | 到达城市的IATA代码,如SHA |
| depDate | string | 是 | 出发日期,格式为yyyy-mm-dd,如2021-10-01 |
| arrDate | string | 否 | 返程日期,格式为yyyy-mm-dd,仅在行程类型为往返时必填 |
| adultNum | int | 是 | 成人人数,取值范围为1-9 |
| childNum | int | 否 | 儿童人数,取值范围为0-9 |
| infantNum | int | 否 | 婴儿人数,取值范围为0-9 |
| cabinClass | string | 否 | 舱位等级,可选值为ECONOMY(经济舱)、PREMIUM_ECONOMY(高端经济舱)、BUSINESS(商务舱)、FIRST(头等舱) |
| maxPrice | int | 否 | 最大价格,单位为分,如50000表示不高于500元 |
| minPrice | int | 否 | 最小价格,单位为分,如20000表示不低于200元 |
返回结果:
| 参数名 | 参数类型 | 参数说明 |
| ---------- | -------- | ------------------------------------------------------------ |
| success | boolean | 接口调用是否成功 |
| message | string | 接口调用返回的消息 |
| data | object | 查询结果 |
| --segments | array | 航班信息列表 |
| ----depAir | object | 出发机场信息 |
| ------code | string | 出发机场IATA代码 |
| ------name | string | 出发机场名称 |
| ----arrAir | object | 到达机场信息 |
| ------code | string | 到达机场IATA代码 |
| ------name | string | 到达机场名称 |
| ----flight | object | 航班信息 |
| ------no | string | 航班号 |
| ----cabin | object | 舱位信息 |
| ------name | string | 舱位名称 |
| ------code | string | 舱位代码 |
| ----price | object | 价格信息 |
| ------total| int | 总价,单位为分 |
| ------base | int | 基准价,单位为分 |
| ------tax | int | 税费,单位为分 |
| ----flightNo|string | 航班号 |
| ----depTime|string | 出发时间,格式为yyyy-mm-dd HH:mm:ss |
| ----arrTime|string | 到达时间,格式为yyyy-mm-dd HH:mm:ss |
| ----flightTime|int | 飞行时间,单位为分钟 |
| ----stopCities|array | 经停城市列表 |
| ----stopAirports|array | 经停机场列表 |
| ----planeType|string | 机型 |
示例请求:
{
"searchType": "flight",
"tripType": 1,
"depCity": "BJS",
"arrCity": "SHA",
"depDate": "2021-10-01",
"adultNum": 1,
"childNum": 0,
"infantNum": 0,
"cabinClass": "ECONOMY"
}
示例返回:
{
"success": true,
"message": "",
"data": {
"segments": [
{
"depAir": {
"code": "BJS",
"name": "北京首都国际机场"
},
"arrAir": {
"code": "SHA",
"name": "上海虹桥国际机场"
},
"flight": {
"no": "MU5131"
},
"cabin": {
"name": "经济舱",
"code": "Y"
},
"price": {
"total": 10100,
"base": 10000,
"tax": 100
},
"flightNo": "MU5131",
"depTime": "2021-10-01 08:00:00",
"arrTime": "2021-10-01 10:25:00",
"flightTime": 145,
"stopCities": [],
"stopAirports": [],
"planeType": "333"
},
{
"depAir": {
"code": "BJS",
"name": "北京首都国际机场"
},
"arrAir": {
"code": "SHA",
"name": "上海虹桥国际机场"
},
"flight": {
"no": "CA1561"
},
"cabin": {
"name": "经济舱",
"code": "Y"
},
"price": {
"total": 10200,
"base": 10000,
"tax": 200
},
"flightNo": "CA1561",
"depTime": "2021-10-01 07:55:00",
"arrTime": "2021-10-01 10:20:00",
"flightTime": 145,
"stopCities": [],
"stopAirports": [],
"planeType": "321"
}
]
}
}
python爬虫如何获取携程的航班信息
要获取携程的航班信息,可以使用 Python 爬虫,并利用携程的 API 接口获取数据。以下是一个获取携程航班信息的示例代码:
```python
import requests
import json
url = 'https://flights.ctrip.com/itinerary/api/12808/products'
params = {
"flightWay": "Oneway",
"dcity": "SHA",
"acity": "PEK",
"army": "false",
"dDate": "2021-12-01",
"query": {
"adu": "1",
"chd": "0",
"inf": "0"
}
}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
response = requests.post(url, data=json.dumps(params), headers=headers)
data = response.json()
flights = data['data']['routeList'][0]['legs'][0]['flight']
for flight in flights:
airlineName = flight['airlineName']
flightNumber = flight['flightNumber']
departureCityName = flight['departureAirportInfo']['cityName']
departureAirportName = flight['departureAirportInfo']['airportName']
departureTerminal = flight['departureAirportInfo']['terminal']
departureTime = flight['departureDate']
arrivalCityName = flight['arrivalAirportInfo']['cityName']
arrivalAirportName = flight['arrivalAirportInfo']['airportName']
arrivalTerminal = flight['arrivalAirportInfo']['terminal']
arrivalTime = flight['arrivalDate']
print(airlineName, flightNumber, departureCityName, departureAirportName, departureTerminal, departureTime, arrivalCityName, arrivalAirportName, arrivalTerminal, arrivalTime)
```
这个示例代码中,我们首先构建了请求的 URL 和参数,然后发送 POST 请求获取数据。然后从返回的数据中解析出航班信息,并打印出来。你可以根据自己的需求调整请求参数和解析数据的方式。需要注意的是,携程有反爬机制,建议添加请求头信息,避免被封禁。