第一个测试代码提交 , python获取车票信息脚本~

gwhsss 90ac298e6d Changes 3 meses atrás
src 90ac298e6d Changes 3 meses atrás
.gitignore 296f59deb1 Initial commit 3 meses atrás
README.md fc7997e302 Changes - readme 3 meses atrás

README.md

TrainTicketInquiry

第一个测试代码提交 , python获取车票信息脚本~

火车票查询工具

这是一个用于查询12306火车票信息的Python工具,支持查询高铁、动车、普通列车等多种车型的余票信息。

功能特性

  • 📅 查询指定日期、出发地和目的地的火车票信息
  • 🚄 支持多种车型(高铁、动车、普通列车)
  • 📊 以表格形式展示查询结果
  • 💾 支持将查询结果导出为Excel文件
  • 🔗 自动生成12306官方查询链接

依赖安装

pip install requests openpyxl prettytable

文件结构

.
├── run_spider.py           # 主程序文件
├── city_data.json          # 城市名称与代码映射文件
├── trainSearchQuery.json   # 查询参数配置文件(可选)
└── README.md              # 说明文档

使用方法

方法一:交互式查询

直接运行程序,按照提示输入信息:

python run_spider.py

程序会依次询问:

  1. 出发日期(格式:YYYY-MM-DD)
  2. 出发地(城市名称)
  3. 目的地(城市名称)

方法二:配置文件查询

创建 trainSearchQuery.json 文件,格式如下:

{
    "DepartureDate": "2024-12-31T00:00:00",
    "DepartureStation": "北京",
    "ArrivalStation": "哈尔滨"
}

程序会自动读取配置文件进行查询。

方法三:命令行参数查询

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官方网站。