name description metadata
12306-train-query 12306 火车时刻表查询。查询指定线路的列车车次信息,用于旅行规划。
openclaw
emoji requires
🚄
playwright

12306 火车时刻表查询 Skill

📋 使用说明

用途:在旅行规划时查询目标线路的列车时刻表,获取准确的车次信息用于行程规划。

查询策略

  • 固定查询 7 天后 的车次
  • 不屏蔽无票车次(获取完整时刻表)
  • 优先查询 高铁/动车(G/D 字头)

🔧 查询方法

方法一:12306 官网查询(推荐)

步骤

  1. 访问 12306 官网:https://www.12306.cn
  2. 输入出发站、到达站
  3. 选择日期(7 天后)
  4. 不勾选"只看有票"
  5. 查询并记录车次信息

记录内容

  • 车次号(如 G655)
  • 出发站、到达站
  • 出发时间、到达时间
  • 历时、票价

方法二:12306 App 查询

步骤

  1. 打开 12306 App
  2. 输入查询条件
  3. 选择 7 天后的日期
  4. 查看完整车次列表
  5. 截图或记录推荐车次

方法三:Playwright 自动化(高级)

from playwright.sync_api import sync_playwright

def query_12306(from_station, to_station, date):
    """
    使用 Playwright 查询 12306 车次信息
    
    Args:
        from_station: 出发站
        to_station: 到达站
        date: 查询日期(YYYY-MM-DD)
    
    Returns:
        list: 车次列表
    """
    with sync_playwright() as p:
        browser = p.chromium.launch(headless=True)
        page = browser.new_page()
        
        # 访问 12306
        page.goto("https://www.12306.cn")
        
        # 输入查询条件
        page.fill("#fromStationText", from_station)
        page.fill("#toStationText", to_station)
        page.fill("#train_date", date)
        
        # 不勾选"只看有票"
        page.uncheck("#checkbox_show_ticket")
        
        # 点击查询
        page.click("#query_ticket")
        
        # 等待结果
        page.wait_for_selector("#result-list")
        
        # 解析结果
        trains = []
        train_elements = page.query_selector_all(".train-list")
        for train in train_elements:
            train_info = {
                "train_no": train.query_selector(".train-number").text_content(),
                "from_time": train.query_selector(".start-time").text_content(),
                "to_time": train.query_selector(".arrive-time").text_content(),
                "duration": train.query_selector(".lishi").text_content(),
                "price": train.query_selector(".price").text_content()
            }
            trains.append(train_info)
        
        browser.close()
        return trains

📝 在旅行规划中的使用

规划前查询

查询时机:开始制定行程规划前

查询内容

  1. 大交通:出发地→目的地(如 北京→西安)
  2. 城际交通:目的地→周边城市(如 西安→宝鸡)
  3. 返程交通:目的地→出发地(如 西安→北京)

记录格式

### 推荐车次

**去程**:
| 车次 | 区间 | 出发 | 到达 | 历时 | 票价 |
|------|------|------|------|------|------|
| G655 | 北京西→西安北 | 07:38 | 12:38 | 5h | ¥515 |

**返程**:
| 车次 | 区间 | 出发 | 到达 | 历时 | 票价 |
|------|------|------|------|------|------|
| G656 | 西安北→北京西 | 18:00 | 23:00 | 5h | ¥515 |

**城际**:
| 车次 | 区间 | 出发 | 到达 | 历时 | 票价 |
|------|------|------|------|------|------|
| G123 | 西安北→宝鸡南 | 09:00 | 10:30 | 1.5h | ¥100 |

写入行程规划

交通部分模板

## 🚄 交通信息

### 大交通(北京↔西安)

**去程推荐**- **G655** 北京西→西安北 07:38-12:38(5 小时,¥515)
- **G657** 北京西→西安北 08:00-13:00(5 小时,¥515)
- **G659** 北京西→西安北 09:00-14:00(5 小时,¥515)

**返程推荐**- **G656** 西安北→北京西 18:00-23:00(5 小时,¥515)
- **G660** 西安北→北京西 19:00-00:00(5 小时,¥515)

> ⚠️ **购票提示**:
> - 12306 提前 15 天放票
> - 建议提前 7-15 天购票
> - 具体车次请以 12306 查询为准

行程中使用

Day 1 行程示例

### Day 1:北京→西安

**交通**- 北京西→西安北:高铁 G655(07:38-12:38,¥515)

**行程**:

| 时间 | 活动 | 交通 | 步行 |
|------|------|------|------|
| 07:38-12:38 | 北京西→西安北 | 高铁 G655 | - |
| 13:00-14:00 | 西安北→市区酒店 | 地铁 2 号线 | - |
| 14:30-15:30 | 午餐(回民街) | 步行 | 0.5km |
| 16:00-17:30 | 西安清真寺 | 步行 | 1km |

**本日覆盖**:西安清真寺、钟楼、鼓楼
**本日步行**:约 2.5km

⚠️ 注意事项

1. 查询日期

  • 提前 15 天放票:12306 提前 15 天(含当天)放票
  • 推荐查询:7 天后的车次(第 8 天)
  • 原因:此时大部分车次已放票,且未售罄

2. 车次选择

优先级

  1. G 字头(高铁):最快,价格较高
  2. D 字头(动车):较快,价格适中
  3. Z/T/K 字头(普速):较慢,价格便宜

推荐

  • 长途(>500km):优先 G/D 字头
  • 短途(<200km):G/D/C 字头均可
  • 城际:C 字头(城际列车)

3. 车站选择

大城市多车站

  • 北京:北京西、北京南、北京北、北京朝阳
  • 上海:上海虹桥、上海站
  • 西安:西安北、西安站
  • 广州:广州南、广州东、广州站

推荐

  • 高铁优先选择XX 北站(如北京西、西安北)
  • 市区优先选择XX 站(如北京站、西安站)

4. 数据准确性

  • 12306 数据最权威
  • 但车次可能临时调整
  • 重要:在行程规划中标注"⚠️ 具体车次请以 12306 查询为准"

💡 最佳实践

查询流程

  1. 确定线路:出发站→到达站
  2. 选择日期:7 天后
  3. 12306 查询:不勾选"只看有票"
  4. 筛选车次
    • 出发时间:07:00-12:00(上午到达)
    • 历时:合理范围
    • 票价:符合预算
  5. 记录信息:车次、时间、票价
  6. 写入规划:交通部分 + 行程部分

推荐车次特征

特征 推荐值 说明
出发时间 07:00-10:00 中午前到达,下午可游览
到达时间 12:00-15:00 可办理入住,吃午餐
历时 <6 小时 避免疲劳
票价 符合预算 二等座为主

备选方案

每个方向推荐 2-3 个车次

**去程推荐**1. G655 北京西→西安北 07:38-12:38(首选)
2. G657 北京西→西安北 08:00-13:00(备选)
3. G659 北京西→西安北 09:00-14:00(备选)

📊 常见线路参考

北京→西安

车次 出发 到达 历时 票价
G655 北京西 07:38 西安北 12:38 5h ¥515
G657 北京西 08:00 西安北 13:00 5h ¥515
G659 北京西 09:00 西安北 14:00 5h ¥515
G661 北京西 10:00 西安北 15:00 5h ¥515
G663 北京西 11:00 西安北 16:00 5h ¥515

北京→上海

车次 出发 到达 历时 票价
G1 北京南 09:00 上海虹桥 13:28 4h28m ¥662
G3 北京南 10:00 上海虹桥 14:28 4h28m ¥662
G5 北京南 11:00 上海虹桥 15:28 4h28m ¥662

西安→宝鸡

车次 出发 到达 历时 票价
G123 西安北 09:00 宝鸡南 10:30 1.5h ¥100
G125 西安北 10:00 宝鸡南 11:30 1.5h ¥100
G127 西安北 11:00 宝鸡南 12:30 1.5h ¥100

🔄 更新机制

定期更新

更新类型 频率 说明
时刻表 每季度 铁路调图时
票价 每月 可能浮动
车次 每周 临时加开/停运

更新方法

  1. 重新查询 12306
  2. 对比变化
  3. 更新规划文档
  4. 标注更新日期

📞 常见问题

Q1: 为什么查不到车次?

A: 可能原因:

  • 日期太远(超过 15 天)
  • 车站名称错误
  • 该线路无直达车

解决

  • 查询 7-15 天内的日期
  • 使用标准车站名称
  • 考虑中转方案

Q2: 如何选择车次?

A: 推荐原则:

  • 出发时间:07:00-10:00
  • 到达时间:12:00-15:00
  • 历时:<6 小时
  • 票价:符合预算

Q3: 车次临时调整怎么办?

A:

  • 12306 会短信通知
  • 可改签或退票
  • 准备备选车次

创建日期:2026-03-14 版本:v1.0 维护者:Travel Agent