如何一行命令搜索机票?Fli CLI 新手完整指南(附 Google Flights 搜索实战)
【免费下载链接】fliGoogle Flights MCP, CLI and Python Library项目地址: https://gitcode.com/gh_mirrors/fli2/fli
Fli 是一个 Google Flights 搜索工具——它直接调用谷歌飞行的底层接口(零网页解析),并提供命令行(CLI)、Python 库和 AI 助手(MCP)三种用法。装好之后,你只需要在终端输入一行命令,就能查机票价格、时刻表和航班详情,全程不用打开浏览器。本文带你 10 分钟上手。
Fli CLI 是什么?为什么值得装?
Fli 不是网页爬虫,而是通过逆向工程直接读取 Google Flights 的官方数据。这意味着:
- ⚡快:直接接口交互,几秒出结果
- 🛡️稳:不依赖网页结构,Google 改界面也不容易坏
- 🔒自带保护:内置限速、自动重试、完整错误提示
对终端党来说,它把"打开网页 → 输入城市 → 选日期 → 翻筛选器"简化成了一条命令:
| 子命令 | 一句话说明 | 典型场景 |
|---|---|---|
fli flights | 搜索指定日期的机票 | 查 10 月 25 日 JFK 到伦敦 |
fli dates | 扫描日期区间找最便宜日子 | 1 月去伦敦哪天最划算? |
fli multi | 多城市 / 开口程搜索 | 西雅图→东京→北京→西雅图 |
fli airports | 查询机场 IATA 代码 | 不知道机场代码时用 |
一键安装:pipx 最快方法
推荐用pipx安装(独立环境,不污染系统 Python):
pipx install flights如果只想用 Python 库,或者不想装 pipx,也可以:
pip install flights装完先验证一下:
fli --help看到命令帮助信息就说明安装成功了。
一行命令搜索机票:fli flights 基础用法
搜索机票的完整格式只有一行:
fli flights <出发机场> <到达机场> <日期>例如搜索 2025 年 2 月 15 日旧金山(SFO)飞安大略(ONT)的机票:
fli flights SFO ONT 2025-02-15执行后,终端会直接列出所有航班方案的价格、总耗时、经停数,每个方案还附带逐段航班的明细表(航司、航班号、起降机场和时间):
💡隐藏技巧:如果第一个参数不是子命令,Fli 会自动把它当作机票搜索处理。也就是说,fli SFO ONT 2025-02-15(不写flights)效果完全一样,手速可以再快一点。这个逻辑实现在 fli/cli/main.py 的cli()入口函数里。
常用搜索参数速查表
| 参数 | 作用 | 示例 |
|---|---|---|
-t, --time | 出发时间窗口 | --time 6-20(早 6 点到晚 8 点) |
-a, --airlines | 只保留指定航司 | --airlines BA,KL |
-A, --exclude-airlines | 排除指定航司 | --exclude-airlines AA |
-c, --class | 舱位等级 | --class BUSINESS |
-s, --stops | 限制经停 | --stops NON_STOP |
-o, --sort | 排序方式 | --sort DURATION(按耗时最短) |
-p, --passengers | 乘客组合 | --passengers 2 --children 1 |
-r, --return | 往返:返程日期 | --return 2026-11-01 |
--currency | 货币 | --currency EUR |
--format | 输出格式 | --format json |
把几个常用参数串起来,一条命令就能完成"高级筛选":
fli flights JFK LHR 2026-10-25 \ --time 6-20 \ --airlines BA,KL \ --class BUSINESS \ --stops NON_STOP \ --sort DURATION意思是:只看 6 点到 20 点出发、英国航空/荷航执飞的商务舱直飞,并按飞行时长排序。
找最便宜出行日期:fli dates 使用技巧
日期还没定死?用dates命令扫描一个区间,Fli 会逐天并行查价,告诉你哪天最便宜:
# 扫描 1 月到 2 月间的机票价格 fli dates JFK LHR --from 2026-01-01 --to 2026-02-01 # 只看周一和周五出发 fli dates JFK LHR --from 2026-01-01 --to 2026-02-01 --monday --friday它支持--monday~--sunday的星期筛选、舱位/航司/经停等和flights一样的过滤参数,单次最多覆盖93 天,对假期错峰出行非常实用。
多城市旅行怎么搜:fli multi 命令
环游世界或"去程从 A 走、回程从 B 飞"这种开口行程,用multi逐段声明,每段格式为出发,到达,日期:
fli multi --leg SEA,HKG,2026-12-26 --leg PEK,SEA,2027-01-02三段行程 + 商务舱 + 直飞限制:
fli multi \ -l SEA,NRT,2026-12-26 \ -l NRT,HKG,2026-12-30 \ -l HKG,SEA,2027-01-05 \ --class BUSINESS \ --stops 0⚠️ 注意:多城市查询需要逐段搜索,每段都会单独请求一次数据,段数越多耗时越长。
不知道机场代码?fli airports 帮你查
IATA 机场代码(如 JFK、LHR、NRT)是搜索的前提。不知道代码时,直接用城市名或机场名查:
fli airports "new york" fli airports tokyo fli airports heathrow结果会列出候选代码、机场全称和匹配类型,方便你选准了再回去搜索。机场数据库文件在 data/airports.csv,搜索逻辑在 fli/cli/commands/airports.py。
常见问题(新手最容易踩的坑)
Q1:结果比网页上少,是不是坏了?没有坏。Fli 从 Google 搜索页面读取数据,单次大约返回 20~45 条行程,比旧接口略少,属于正常现象。
Q2:加了儿童/婴儿乘客,结果变少甚至为空?Google 对儿童、婴儿票价是客户端算的,页面内联行程会变少,高档舱位尤其明显。空结果不代表没有航班,可以先用纯成人组合查一遍班次。
Q3:偶尔搜索失败?Fli 内置自动重试(0.5 秒、1.5 秒退避),偶发的页面解析失败通常重试后就能恢复;持续失败多为网络或区域访问限制,可检查代理设置。
进阶玩法:让 AI 助手直接帮你查机票 🤖
如果你在用 Claude 等 AI 助手,可以把 Fli 装成MCP 服务器(Model Context Protocol),之后直接用自然语言查票——"帮我找 12 月第一个周四晚 SFO 飞 JFK、周一早上前返回的航班",AI 就会自动调用搜索工具,返回航班选项:
配置方法很简单,两条命令的事:
pipx install flights fli-mcp # 启动 MCP 服务器(stdio 模式)然后把fli-mcp的路径填进 Claude Desktop 的配置(用which fli-mcp可以找到),重启客户端即可。完整步骤见 MCP 服务器指南,服务源码在 fli/mcp/server.py。
核心代码在哪里?
想深入了解或二次开发,可以从这几个入口入手:
- CLI 总入口:fli/cli/main.py
- 四个子命令实现:fli/cli/commands/
- 机场与航司数据:data/airports.csv、data/airlines.csv
- Python API 文档:docs/python/quickstart.md
- 官方文档首页:docs/index.md
总结:一张命令速查表
| 我想… | 敲这条命令 |
|---|---|
| 查某天机票 | fli flights JFK LHR 2026-10-25 |
| 找最便宜日期 | fli dates JFK LHR --from 2026-01-01 --to 2026-02-01 |
| 只搜直飞 | 加上--stops NON_STOP |
| 查机场代码 | fli airports 上海 |
| 多城市开口程 | fli multi -l SEA,NRT,2026-12-26 -l HKG,SEA,2027-01-05 |
| 输出给脚本 | 加上--format json |
| 让 AI 帮你查票 | 安装后运行fli-mcp |
一条命令、零爬虫、秒出结果——装好pipx install flights,下次比价机票,直接打开终端就好 ✈️
【免费下载链接】fliGoogle Flights MCP, CLI and Python Library项目地址: https://gitcode.com/gh_mirrors/fli2/fli
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考