介绍
# Flight Search
通过 Google Flights 数据搜索实时航班时刻表和价格。
## 前置要求
```bash pip install fast-flights ```
`flights-search` CLI 已安装至 `~/.local/bin/flights-search`。
## CLI 用法
```bash flights-search <origin> <destination> <date> [options] ```
### 示例
```bash # Basic search (auto-shows fewest stops available) flights-search YYZ EWR 2026-02-06
# Nonstop flights only flights-search YYZ JFK 2026-02-06 --nonstop
# Filter by departure time (24h format) flights-search YYZ EWR 2026-02-06 --after 18 # After 6pm flights-search YYZ EWR 2026-02-06 --before 12 # Before noon flights-search YYZ EWR 2026-02-06 --after 9 --before 14
# Cabin class flights-search YYZ EWR 2026-02-06 --class economy # default flights-search YYZ EWR 2026-02-06 --class premium # premium economy flights-search YYZ EWR 2026-02-06 --class business flights-search YYZ EWR 2026-02-06 --class first
# Get Google Flights booking link flights-search YYZ EWR 2026-02-06 --class business --link
# Multiple passengers flights-search YYZ EWR 2026-02-06 --passengers 2
# Show all flights (ignore stop minimization) flights-search YYZ EWR 2026-02-06 --all-stops ```
### 选项
| 选项 | 描述 | |--------|-------------| | `--nonstop` | 强制仅显示直飞航班 | | `--all-stops` | 显示所有航班,不论中转次数 | | `--after HH` | 在指定小时之后出发(24 小时制)| | `--before HH` | 在指定小时之前出发(24 小时制)| | `--class` | 舱位等级:economy(经济舱)、premium(超经)、business(商务舱)、first(头等舱)| | `--passengers N` | 旅客人数 | | `--link` | 打印 Google Flights 链接 |
## 默认行为
默认情况下,CLI 仅显示具有**最少中转次数**的航班: - 如果存在直飞航班 → 仅显示直飞航班 - 如果不存在直飞航班 → 仅显示 1 次中转的航班 - 请使用 `--all-stops` 查看所有选项
## 输出
``` Depart Arrive Airline Price Duration ---------------------------------------------------------------------------------------------------- 6:00 PM Fri, Feb 6 7:38 PM Fri, Feb 6 Air Canada $361 1 hr 38 min 9:10 PM Fri, Feb 6 10:48 PM Fri, Feb 6 Air Canada $361 1 hr 38 min
2 nonstop flight(s) found. ```
## 数据来源
通过 `fast-flights` 库使用 Google Flights 数据(逆向工程的 protobuf API)。无需 API 密钥。
## 注意事项
- 日期格式:`YYYY-MM-DD` - 机场代码:标准 IATA 代码(JFK, LAX, YYZ 等) - 价格以美元(USD)显示 - 时间以机场当地时间显示