用python写一个火车票查询工具
时间: 2023-11-28 10:04:00 浏览: 37
好的,以下是一个简单的火车票查询工具的Python代码示例,仅供参考:
```python
import requests
import json
# 查询火车票信息的URL
url = "https://kyfw.12306.cn/otn/leftTicket/query"
# 出发站和到达站
from_station = input("请输入出发站:")
to_station = input("请输入到达站:")
# 出发日期
date = input("请输入出发日期(格式为:yyyy-mm-dd):")
# 查询参数
params = {
"leftTicketDTO.train_date": date,
"leftTicketDTO.from_station": from_station,
"leftTicketDTO.to_station": to_station,
"purpose_codes": "ADULT"
}
# 发送查询请求
response = requests.get(url, params=params)
# 解析响应数据
data = json.loads(response.text)
results = data["data"]["result"]
# 输出查询结果
print("车次\t出发站\t到达站\t出发时间\t到达时间\t历时\t商务座\t一等座\t二等座\t软卧\t硬卧\t硬座\t无座\t备注")
for result in results:
items = result.split("|")
train_no = items[3]
from_station_name = items[6]
to_station_name = items[7]
start_time = items[8]
arrive_time = items[9]
duration = items[10]
swz_num = items[32] or "--"
zy_num = items[31] or "--"
ze_num = items[30] or "--"
rw_num = items[23] or "--"
yw_num = items[28] or "--"
yz_num = items[29] or "--"
wz_num = items[26] or "--"
note = items[1] or "--"
print(f"{train_no}\t{from_station_name}\t{to_station_name}\t{start_time}\t{arrive_time}\t{duration}\t{swz_num}\t{zy_num}\t{ze_num}\t{rw_num}\t{yw_num}\t{yz_num}\t{wz_num}\t{note}")
```
在这个示例中,我们使用了Python中的requests库发送查询请求,然后解析返回的JSON数据,输出了火车票查询结果。您可以根据需要进行修改和扩展,例如添加更多的查询条件、增加缓存机制等等。值得注意的是,这个示例仅供学习参考,实际使用时需要遵守相关法律法规和12306网站的使用规定。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)