通过自动化浏览器查询携程机票价格日历,找出指定航线在用户给定时间段内价格低于阈值的日期。
catdesk-browser skill 已内置可用,无需额外安装~/.catpaw/bin/catdesk browser-action从用户消息中提取以下信息,缺失时主动询问:
| 参数 | 说明 | 示例 |
|---|---|---|
| ------ | ------ | ------ |
departure | 出发城市,使用三字码(如 BJS)或城市名 | 北京(BJS) |
arrival | 到达城市,使用三字码(如 HKG)或城市名 | 中国香港(HKG) |
start_date | 查询起始日期 | 2026-05-02(今天) |
end_date | 查询结束日期 | 2026-08-02(约三个月) |
threshold | 价格阈值(元),低于此值的日期才记录 | 500 |
城市代码速查:
携程国内/国际机票列表页 URL 格式:
https://flights.ctrip.com/online/list/oneway-{departure}-{arrival}?depdate={date}&cabin=Y_S_C_F
其中:
{departure} / {arrival}:城市三字码(大写){date}:日期格式 YYYY-MM-DDcabin=Y_S_C_F:经济舱+超经舱+商务舱+头等舱(获取最低价)携程页面会在顶部横条显示前后数日的最低价格。通过切换不同日期,可以滚动采集整个时间段的价格。
推荐采样策略:
start_dateend_date具体操作:
# 1. 导航到目标日期的携程查询页
~/.catpaw/bin/catdesk browser-action '{"action":"navigate","url":"https://flights.ctrip.com/online/list/oneway-BJS-HKG?depdate=2026-06-15&cabin=Y_S_C_F"}'
# 2. 等待页面加载并获取价格日历
sleep 4
~/.catpaw/bin/catdesk browser-action '{"action":"snapshot","interactive":true}'
Snapshot 的 listitem 中会显示类似:06-12周五¥440、06-15周一¥416低
从中解析出日期和价格:
MM-DD(需补上年份)¥ 后面的数字提取规则:
将所有采样日期中低于阈值的日期汇总为表格:
| 日期 | 星期 | 最低价格 | 备注 |
|------|------|----------|------|
| 2026-06-08 | 周一 | ¥342 | 最低价 |
| 2026-06-10 | 周三 | ¥421 | 低价 |
输出建议:
用户说:"帮我查下北京到香港接下来三个月 500 块以下的机票"
执行流程:
# 采样 5月初
~/.catpaw/bin/catdesk browser-action '{"action":"navigate","url":"https://flights.ctrip.com/online/list/oneway-BJS-HKG?depdate=2026-05-10&cabin=Y_S_C_F"}'
sleep 4
~/.catpaw/bin/catdesk browser-action '{"action":"snapshot","interactive":true}'
# 记录低于500的日期
# 采样 5月中旬
~/.catpaw/bin/catdesk browser-action '{"action":"navigate","url":"https://flights.ctrip.com/online/list/oneway-BJS-HKG?depdate=2026-05-20&cabin=Y_S_C_F"}'
sleep 4
~/.catpaw/bin/catdesk browser-action '{"action":"snapshot","interactive":true}'
# 记录低于500的日期
# 继续采样6月、7月、8月...
# ...
# 最后汇总输出表格
navigate 会用同一个 tab,无需关闭navigate 后需重新 snapshot 获取新 refs共 1 个版本