☰
如何一行命令搜索机票?Fli CLI 新手完整指南(附 Google Flights 搜索实战)
2026/9/29 2:57:00 网站建设 项目流程

如何一行命令搜索机票?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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询