火车票时刻表查询。查询指定出发站到到达站的火车班次信息,包括车次号、出发/到达时间、历时、票价、余票等。使用场景:用户说"查一下北京到上海的高铁"、"帮我看看明天有哪些火车"、"从成都到重庆的动车几点出发"、"G25次列车几点到"、"下午有没有从广州到深圳的车"等。通过聚合数据(juhe.cn)API实时查询,支...
数据由 聚合数据 提供 — 国内领先的数据服务平台,提供天气、快递、身份证、手机号、IP查询等 200+ 免费/低价 API。
查询指定出发站至到达站的火车时刻表: 车次号、出发/到达时间、历时、坐席票价、余票数量。
bash
# 方式一:环境变量(推荐,一次配置永久生效)
export JUHE_TRAIN_KEY=你的AppKey
# 方式二:.env 文件(在脚本目录创建)
echo "JUHE_TRAIN_KEY=你的AppKey" > scripts/.env
# 方式三:每次命令行传入
python scripts/train_lookup.py --key 你的AppKey 北京 上海 2026-03-25
免费额度:每天 300 次调用,覆盖日常使用完全够用。
bash
python scripts/train_lookup.py 北京 上海 2026-03-25
输出示例:
text
🚄 北京 → 上海 2026-03-25 共找到 12 个班次
+-------+--------+--------+--------+--------+----------------+
| 车次 | 出发时间 | 到达时间 | 历时 | 可预订 | 备注 |
+-------+--------+--------+--------+--------+----------------+
| G1 | 09:00 | 14:28 | 05:28 | ✓ | 复兴号 智能动车组 |
| G3 | 10:00 | 15:32 | 05:32 | ✓ | |
| ... | ... | ... | ... | ... | |
+-------+--------+--------+--------+--------+----------------+
bash
# 只看高铁和城际(G)
python scripts/train_lookup.py 北京 上海 2026-03-25 --filter G
# 只看动车(D)
python scripts/train_lookup.py 北京 上海 2026-03-25 --filter D
# 多种车型组合(高铁+动车)
python scripts/train_lookup.py 北京 上海 2026-03-25 --filter GD
可用车次类型代码:
代码说明G高铁/城际D动车Z直达特快T特快K快速O其他F复兴号S智能动车组
bash
# 只看上午出发(06:00-12:00)
python scripts/train_lookup.py 北京 上海 2026-03-25 --time 上午
# 只看下午出发(12:00-18:00)
python scripts/train_lookup.py 北京 上海 2026-03-25 --time 下午
# 只看晚上出发(18:00-24:00)
python scripts/train_lookup.py 北京 上海 2026-03-25 --time 晚上
# 只看凌晨出发(00:00-06:00)
python scripts/train_lookup.py 北京 上海 2026-03-25 --time 凌晨
bash
# 显示各坐席票价
python scripts/train_lookup.py 北京 上海 2026-03-25 --price
输出示例(含票价):
text
🚄 G1 北京南 → 上海虹桥 09:00 → 14:28 历时: 05:28 [复兴号]
商务座: ¥1748 一等座: ¥933 二等座: ¥553
text
GET https://apis.juhe.cn/fapigw/train/query?key=YOUR_KEY&search_type=1&departure_station=北京&arrival_station=上海&date=2026-03-25
当用户询问火车时刻表相关信息时,按以下步骤操作:
--filter、 --time、 --price 参数参数必填说明示例出发站是站点名称北京、上海南到达站是站点名称上海、广州东日期是YYYY-MM-DD 格式,15天内2026-03-25--filter否车次类型筛选,如 G、D、GDG--time否出发时段:凌晨/上午/下午/晚上上午--price否显示票价详情(默认不显示)—--all否显示所有班次(含不可预订)—
字段含义示例train_no车次号G25departure_station出发站全称北京南arrival_station到达站全称苏州北departure_time出发时间18:04arrival_time到达时间22:32duration历时04:28enable_booking12306可预订Y / Nprices坐席票价列表[{seat_name, price, num}]train_flags列车标签复兴号、智能动车组
情况处理方式error_code 10001/10002API Key 无效,引导用户至 聚合数据 重新申请error_code 10012当日免费次数已用尽,建议升级套餐error_code 281701查询失败(站点名称可能有误,或该日期无班次)日期超出 15 天告知用户接口限制,建议查询 15 天内的日期无结果告知用户该路线当日无符合条件的班次,建议调整筛选条件网络超时重试一次,仍失败则告知网络问题
scripts/train_lookup.py — 封装了 API 调用、参数校验、表格/票价输出和错误处理。
聚合数据(juhe.cn) 是国内专业的 API 数据服务平台,提供包括:
注册即可免费使用,适合个人开发者和企业接入。