# TrainTicketInquiry 第一个测试代码提交 , python获取车票信息脚本~ # 火车票查询工具 这是一个用于查询12306火车票信息的Python工具,支持查询高铁、动车、普通列车等多种车型的余票信息。 ## 功能特性 - 📅 查询指定日期、出发地和目的地的火车票信息 - 🚄 支持多种车型(高铁、动车、普通列车) - 📊 以表格形式展示查询结果 - 💾 支持将查询结果导出为Excel文件 - 🔗 自动生成12306官方查询链接 ## 依赖安装 ```bash pip install requests openpyxl prettytable ``` ## 文件结构 ``` . ├── run_spider.py # 主程序文件 ├── city_data.json # 城市名称与代码映射文件 ├── trainSearchQuery.json # 查询参数配置文件(可选) └── README.md # 说明文档 ``` ## 使用方法 ### 方法一:交互式查询 直接运行程序,按照提示输入信息: ```bash python run_spider.py ``` 程序会依次询问: 1. 出发日期(格式:YYYY-MM-DD) 2. 出发地(城市名称) 3. 目的地(城市名称) ### 方法二:配置文件查询 创建 `trainSearchQuery.json` 文件,格式如下: ```json { "DepartureDate": "2024-12-31T00:00:00", "DepartureStation": "北京", "ArrivalStation": "哈尔滨" } ``` 程序会自动读取配置文件进行查询。 ### 方法三:命令行参数查询 ```bash python run_spider.py "2024-12-31" "北京" "哈尔滨" ``` ## 输出说明 程序运行后会显示: 1. **表格视图**:包含车次、时间、历时、座位信息等 2. **数据保存**:自动保存为Excel文件(`日期_出发地_目的地.xlsx`) 3. **直达链接**:生成的12306官方查询链接 ## 表格字段说明 | 字段 | 说明 | |------|------| | 车次 | 列车编号(如G123、K456) | | 出发时间 | 列车发车时间 | | 到达时间 | 列车到达时间 | | 历时 | 运行时长 | | 商务座 | 商务座余票 | | 一等座 | 一等座余票 | | 二等座 | 二等座余票 | | 软卧 | 软卧余票 | | 硬卧 | 硬卧余票 | | 硬座 | 硬座余票 | | 无座 | 无座余票 | | 备注 | 其他信息 | ## 注意事项 1. **城市名称**:需要确保输入的城市名称在 `city_data.json` 中存在 2. **日期格式**:必须为 `YYYY-MM-DD` 格式 3. **网络连接**:需要保持网络通畅以访问12306接口 4. **Cookie更新**:如遇到查询失败,可能需要更新程序中的Cookie信息 ## 城市数据更新 如果需要更新城市列表,可以执行以下操作: 1. 删除或备份现有的 `city_data.json` 2. 取消代码中 `get_city_data()` 的注释并运行 3. 程序会自动获取最新的城市代码映射 ## 示例 ``` 请输入出发日期(YYYY-MM-DD):2024-12-31 请输入出发地:北京 请输入目的地:哈尔滨 +-------+----------+----------+-------+--------+--------+--------+--------+--------+--------+--------+--------+ | 车次 | 出发时间 | 到达时间 | 历时 | 商务座 | 一等座 | 二等座 | 软卧 | 硬卧 | 硬座 | 无座 | 备注 | +-------+----------+----------+-------+--------+--------+--------+--------+--------+--------+--------+--------+ | G381 | 07:00 | 11:23 | 04:23 | -- | 有 | 有 | -- | -- | -- | -- | -- | | K39 | 23:00 | 13:12 | 14:12 | -- | -- | -- | 有 | 有 | 有 | 有 | -- | +-------+----------+----------+-------+--------+--------+--------+--------+--------+--------+--------+--------+ 数据保存完成! 12306直达链接(复制到浏览器打开):https://kyfw.12306.cn/otn/leftTicket/init?linktypeid=dc&fs=北京,BJP&ts=哈尔滨,HBB&date=2024-12-31&flag=N,N,Y ``` ## 许可证 本项目仅供学习和研究使用,请勿用于商业用途。查询数据来自12306官方网站。