python爬虫爬取携程网机票
时间: 2023-11-04 09:06:32 浏览: 377
国内两大机票网站(去哪儿 + 携程)网络爬虫.rar
5星 · 资源好评率100%
要爬取携程网机票信息,可以按照以下步骤进行:
1. 使用 Python 的 requests 库向携程网发送 HTTP 请求,获取机票页面的 HTML 内容。
2. 使用 BeautifulSoup 库对 HTML 内容进行解析,提取出机票信息所在的标签。
3. 解析标签,获取机票的相关信息,如出发地、目的地、航班号、价格、起飞时间、到达时间等。
4. 将获取的机票信息存储到数据库或文件中。
下面是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
# 构造请求头部信息
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'}
# 构造请求参数信息
params = {
'depCity': '北京',
'arrCity': '上海',
'depDate': '2022-01-01',
}
# 发送 HTTP 请求,获取机票页面的 HTML 内容
response = requests.get('https://flights.ctrip.com/domestic/search/flight', headers=headers, params=params)
html_content = response.text
# 使用 BeautifulSoup 解析 HTML 内容,提取机票信息
soup = BeautifulSoup(html_content, 'html.parser')
flight_list = soup.select('.flight-item')
# 遍历机票列表,输出机票信息
for flight in flight_list:
flight_no = flight.select_one('.flight_logo').text.strip() # 航班号
dep_time = flight.select_one('.time').text.strip() # 起飞时间
arr_time = flight.select('.time')[-1].text.strip() # 到达时间
price = flight.select_one('.base_price02').text.strip() # 价格
print(flight_no, dep_time, arr_time, price)
```
需要注意的是,携程网有反爬机制,可能会对频繁的请求进行限制或者要求验证码验证,因此在实际应用中需要添加相应的反反爬措施。
阅读全文