返回
手把手教你利用Python查询火车票车票!<#title>
后端
2024-01-28 12:27:12
用Python查询火车票:一步一步指南
简介
在互联网飞速发展的时代,网上订票已成为出行购票的主流方式。Python作为一门功能强大的编程语言,可以轻松实现火车票车票查询,让出行更加便利。本指南将逐步介绍如何使用Python查询火车票信息。
1. 安装必备库
首先,需要安装requests和BeautifulSoup库来支持Python查询火车票功能。可使用pip命令安装:
pip install requests beautifulsoup4
2. 访问12306网站
安装好库后,使用requests库访问12306网站,获取火车票信息:
import requests
url = 'https://kyfw.12306.cn/otn/leftTicket/init'
response = requests.get(url)
3. 解析HTML页面
获取到12306网站的HTML页面后,使用BeautifulSoup库解析页面,提取所需信息:
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text, 'html.parser')
4. 查询火车票
解析好HTML页面后,使用BeautifulSoup库的find_all()方法查询火车票信息:
trains = soup.find_all('tr', class_='odd')
for train in trains:
# 提取所需信息并打印
示例代码
import requests
from bs4 import BeautifulSoup
# 访问12306网站
url = 'https://kyfw.12306.cn/otn/leftTicket/init'
response = requests.get(url)
# 解析HTML页面
soup = BeautifulSoup(response.text, 'html.parser')
# 查询火车票
trains = soup.find_all('tr', class_='odd')
for train in trains:
train_number = train.find('td', class_='number').text
train_from = train.find('td', class_='from').text
train_to = train.find('td', class_='to').text
train_date = train.find('td', class_='date').text
train_time = train.find('td', class_='time').text
train_duration = train.find('td', class_='lishi').text
train_price = train.find('td', class_='price').text
print(f'车次:{train_number}')
print(f'出发站:{train_from}')
print(f'到达站:{train_to}')
print(f'出发时间:{train_date} {train_time}')
print(f'到达时间:{train_date} {train_time}')
print(f'历时:{train_duration}')
print(f'票价:{train_price}')
常见问题解答
- 如何指定查询日期?
修改访问12306网站的url,添加出发日期查询参数,如:url = 'https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2023-03-08'
- 如何查询特定车次?
在查询代码中添加车次过滤条件,如:trains = soup.find_all('tr', class_='odd', attrs={'data-train-num': 'G1'})
- 如何获取余票信息?
余票信息通常保存在HTML页面的data属性中,需要解析data属性获取。
- 如何预订火车票?
火车票预订需要登录12306网站,本指南不涉及预订功能。
- 如何取消火车票?
火车票取消需要登录12306网站,本指南不涉及取消功能。
结论
掌握了Python查询火车票车票的方法,出行购票变得更加便捷高效。通过灵活配置查询条件,可以获取定制化的火车票信息,为出行规划提供有力支持。