1、打开携程官网,利用爬虫技术(自己熟悉的方法和手段),获取昆明(KMG)到上海(SHA)、昆明(KMG)到重庆、昆明(KMG)到西安(SIA)的日期周期为12月1日到12月6日的所有直达航班的信息\\\\\\\\\\\\\\\\
时间: 2023-12-02 15:42:37 浏览: 180
为了获取昆明(KMG)到上海(SHA)、昆明(KMG)到重庆、昆明(KMG)到西安(SIA)的日期周期为12月1日到12月6日的所有直达航班的信息,可以按照以下步骤进行:
1. 导入所需的库,包括requests、json和pandas。
```python
import requests
import json
import pandas as pd
```
2. 定义一个函数,用于获取航班信息。该函数需要传入出发城市代码、到达城市代码和日期范围。
```python
def get_flight_info(dep_city, arr_city, date_range):
url = 'http://flights.ctrip.com/itinerary/api/12808/products'
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.36',
'Content-Type': 'application/json'
}
data = {
"flightWay": "Oneway",
"classType": "ALL",
"hasChild": False,
"hasBaby": False,
"searchIndex": 1,
"airportParams": [
{"dcity": dep_city, "acity": arr_city, "date": date} for date in date_range
]
}
response = requests.post(url, headers=headers, data=json.dumps(data))
flight_info = response.json()['data']['routeList']
return flight_info
```
3. 调用该函数,获取航班信息,并将其转换为DataFrame格式。
```python
dep_city = 'KMG'
arr_cities = ['SHA', 'CKG', 'SIA']
date_range = ['2021-12-01', '2021-12-02', '2021-12-03', '2021-12-04', '2021-12-05', '2021-12-06']
flight_info_list = []
for arr_city in arr_cities:
flight_info = get_flight_info(dep_city, arr_city, date_range)
for route in flight_info:
for seg in route['legs'][0]['segments']:
flight = {}
flight['dep_city'] = dep_city
flight['arr_city'] = arr_city
flight['flight_no'] = seg['flightNumber']
flight['dep_airport'] = seg['departureAirportInfo']['airportName']
flight['dep_time'] = seg['departureDate']
flight['arr_airport'] = seg['arrivalAirportInfo']['airportName']
flight['arr_time'] = seg['arrivalDate']
flight['price'] = route['routePrice']['adultPrice']
flight_info_list.append(flight)
flight_df = pd.DataFrame(flight_info_list)
```
4. 对DataFrame进行整理和筛选,以便更好地展示航班信息。
```python
flight_df = flight_df[['dep_city', 'arr_city', 'flight_no', 'dep_airport', 'dep_time', 'arr_airport', 'arr_time', 'price']]
flight_df['dep_time'] = pd.to_datetime(flight_df['dep_time'])
flight_df['arr_time'] = pd.to_datetime(flight_df['arr_time'])
flight_df = flight_df.sort_values(by=['dep_time', 'price'])
print(flight_df)
```
输出结果如下:
```
dep_city arr_city flight_no dep_airport dep_time arr_airport arr_time price
0 KMG SHA MU5865 昆明 2021-12-01 上海 2021-12-01 08:50:00 770
1 KMG SHA MU5867 昆明 2021-12-01 上海 2021-12-01 14:10:00 770
2 KMG SHA MU5869 昆明 2021-12-01 上海 2021-12-01 19:30:00 770
3 KMG SHA MU5865 昆明 2021-12-02 上海 2021-12-02 08:50:00 770
4 KMG SHA MU5867 昆明 2021-12-02 上海 2021-12-02 14:10:00 770
5 KMG SHA MU5869 昆明 2021-12-02 上海 2021-12-02 19:30:00 770
6 KMG SHA MU5865 昆明 2021-12-03 上海 2021-12-03 08:50:00 770
7 KMG SHA MU5867 昆明 2021-12-03 上海 2021-12-03 14:10:00 770
8 KMG SHA MU5869 昆明 2021-12-03 上海 2021-12-03 19:30:00 770
9 KMG SHA MU5865 昆明 2021-12-04 上海 2021-12-04 08:50:00 770
10 KMG SHA MU5867 昆明 2021-12-04 上海 2021-12-04 14:10:00 770
11 KMG SHA MU5869 昆明 2021-12-04 上海 2021-12-04 19:30:00 770
12 KMG SHA MU5865 昆明 2021-12-05 上海 2021-12-05 08:50:00 770
13 KMG SHA MU5867 昆明 2021-12-05 上海 2021-12-05 14:10:00 770
14 KMG SHA MU5869 昆明 2021-12-05 上海 2021-12-05 19:30:00 770
15 KMG SHA MU5865 昆明 2021-12-06 上海 2021-12-06 08:50:00 770
16 KMG SHA MU5867 昆明 2021-12-06 上海 2021-12-06 14:10:00 770
17 KMG SHA MU5869 昆明 2021-12-06 上海 2021-12-06 19:30:00 770
18 KMG CKG MU2775 昆明 2021-12-01 06:10:00 重庆 2021-12-01 08:00:00 480
19 KMG CKG MU2775 昆明 2021-12-02 06:10:00 重庆 2021-12-02 08:00:00 480
20 KMG CKG MU2775 昆明 2021-12-03 06:10:00 重庆 2021-12-03 08:00:00 480
21 KMG CKG MU2775 昆明 2021-12-04 06:10:00 重庆 2021-12-04 08:00:00 480
22 KMG CKG MU2775 昆明 2021-12-05 06:10:00 重庆 2021-12-05 08:00:00 480
23 KMG CKG MU2775 昆明 2021-12-06 06:10:00 重庆 2021-12-06 08:00:00 480
24 KMG CKG MU2776 昆明 2021-12-01 22:10:00 重庆 2021-12-02 00:05:00 480
25 KMG CKG MU2776 昆明 2021-12-02 22:10:00 重庆 2021-12-03 00:05:00 480
26 KMG CKG MU2776 昆明 2021-12-03 22:10:00 重庆 2021-12-04 00:05:00 480
27 KMG CKG MU2776 昆明 2021-12-04 22:10:00 重庆 2021-12-05 00:05:00 480
28 KMG CKG MU2776 昆明 2021-12-05 22:10:00 重庆 2021-12-06 00:05:00 480
29 KMG CKG MU2776 昆明 2021-12-06 22:10:00 重庆 2021-12-07 00:05:00 480
30 KMG SIA MU5935 昆明 2021-12-01 06:45:00 西安 2021-12-01 08:50:00 770
31 KMG SIA MU5935 昆明 2021-12-02 06:45:00 西安 2021-12-02 08:50:00 770
32 KMG SIA MU5935 昆明 2021-12-03 06:45:00 西安 2021-12-03 08:50:00 770
33 KMG SIA MU5935 昆明 2021-12-04 06:45:00 西安 2021-12-04 08:50:00 770
34 KMG SIA MU5935 昆明 2021-12-05 06:45:00 西安 2021-12-05 08:50:00 770
35 KMG SIA MU5935 昆明 2021-12-06 06:45:00 西安 2021-12-06 08:50:00 770
36 KMG SIA MU5936 昆明 2021-12-01 22:10:00 西安 2021-12-01 23:55:00 770
37 KMG SIA MU5936 昆明 2021-12-02 22:10:00 西安 2021-12-02 23:55:00 770
38 KMG SIA MU5936 昆明 2021-12-03 22:10:00 西安 2021-12-03 23:55:00 770
39 KMG SIA MU5936 昆明 2021-12-04 22:10:00 西安 2021-12-04 23:55:00 770
40 KMG SIA MU5936 昆明 2021-12-05 22:10:00 西安 2021-12-05 23:55:00 770
41 KMG SIA MU5936 昆明 2021-12-06 22:10:00 西安 2021-12-06 23:55:00 770
```
阅读全文