Flight Monitor — 机票日期窗扫价与 OTA 核验

日期窗扫价 + 多 OTA 核验,筛出真实可买的往返低价,已公开部署。

2026-9-7项目技术Python
Flight Monitor — 机票日期窗扫价与 OTA 核验

type
Post
status
Published
date
Sep 7, 2026
slug
flight-monitor
summary
日期窗扫价 + 多 OTA 核验,筛出真实可买的往返低价,已公开部署。
tags
项目
技术
Python
机票监控
Playwright
文字
category
项目作品
icon
password
ext
{}
✈️ 机票日期窗扫价 + 多 OTA 核验,从一组「差不多都行」的日期里筛出真实可买的往返低价。已公开部署在 flights.krisnote.online。

项目简介

Flight Monitor(Gatefare)是一个机票价格检索与监控工具。买机票时出发日期往往可以前后浮动,停留天数也是个变量,航司每天放价还不同——手动在携程、去哪儿、飞猪、Google Flights 之间逐个日期组合核对往返价,几个小时下来常常一无所获。
它把这件事自动化:给定出发日期窗和停留天数范围,自动扫描所有组合,按真实售价排序输出;需要持续盯价时,可开定时任务,触及心理价或出现新低时通过飞书 Webhook 推送提醒。覆盖国内航线与中国出境航线。

设计要点

两步查价管线

第一步用 Travelpayouts 免费缓存价,按「出发码 × 到达码 × 日期组合」扫窗初筛——快且便宜,但缓存价有滞后,只当候选;第二步对候选组合用 Playwright 启动浏览器,到 OTA 站点核验真实售价,核验顺序固定为携程 → 去哪儿 → 飞猪 → Google Flights,任一家解析到真价即写入,失败则按序回落下一家。

双价透明

缓存价和核验价同时保留,但用途严格分开:缓存价只用于初筛与对照,核验价用于排序、心理价比较和告警。若 API 缓存是 1000、OTA 核验是 1010,「最低价」展示的永远是 1010。

Fail-closed

核验池全部失败、Playwright 未安装、数据源不可用等情况一律返回 failed,禁止用 mock 价或纯缓存价冒充成功——宁可承认查不到,不给出一个看起来便宜的假价。

携程 WhaleGuard 与多源回落

携程会对自动化浏览器返回 WhaleGuard 验证页,命中时本轮跳过携程,候选自动落到去哪儿、飞猪,最后是 Google Flights(对自动化浏览器友好,虽不卖票,但作为价格核验源足够可信)。产品不承诺任何一家 OTA 100% 不被拦,多源是为了把「至少一家出真价」的概率拉高。

地点能力

出发地/目的地支持城市、机场三字码或国家搜索。选「国家 · 不限机场」会自动展开该国主要机场做多 OD 组合扫价(如柬埔寨 → PNH/REP/KOS);中国大陆内置 220+ 可飞城市目录,中文名和英文别名都能搜。

使用流程

  • 博客首页「常用工具 → 机票查询」直达,或访问 flights.krisnote.online
  • 新建扫价任务:选出发地/目的地、日期窗、停留天数范围,或用「一键示例:港阪扫价」试水
  • 详情页看实时进度与核验价榜单,点击链接可跳转 OTA 下单核对
  • 要持续盯价就开启定时,触及心理价时飞书推送提醒
扫价较慢(缓存扫窗 + 多组 OTA 核验),但界面会持续输出当前阶段和已核验结果,不是黑盒转圈。

技术栈

技术
后端
FastAPI + SQLite
前端
React + Vite
浏览器自动化
Playwright Chromium
数据源
Travelpayouts(免费 token)
部署
阿里云 ECS + Nginx + Docker
查价管线全程免费,无付费航班 API,自部署只需要一个 Travelpayouts 免费 token。

项目地址

在线使用:flights.krisnote.online(免登录)。代码开源在 github.com/krisaruz/flight-monitor,仓库内附 PRD、CHANGELOG、AGENTS.md:PRD 记录产品需求与验收标准,CHANGELOG 记录每次功能改动,AGENTS.md 是 AI 协作规范。

Loading...
情報がこれほど軽やかに行き交う時代に、なぜあえて個人のblogを持つのか?

情報がこれほど軽やかに行き交う時代に、なぜあえて個人のblogを持つのか?

このサイトを読む前に、少しだけ心の準備を。

学ぶことについて

学ぶことについて

AIは学ぶことの意味を奪ったのではない。むしろ、学びそのものにアップデートを迫ったのだ。