返回顶部
a

alaska-air阿拉斯加航空查票

Scrape Alaska Airlines award calendar and flight data. Use when user asks about Alaska Air miles, award availability, mileage booking, or flight prices on alaskaair.com. Triggers on: "alaska air", "alaska airlines", "alaska 里程", "alaska 機票", "alaska 查票", "award calendar", "里程兌換".

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
102
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

alaska-air

Alaska Airlines 爬蟲

Alaska Air 使用 SvelteKit SSR — 所有航班/獎勵資料都嵌入在原始 HTML 回應中。無需 Playwright 或 JS 渲染。

⚠️ 目前只支援單程查詢(RT=false)。來回票請分兩次查詢。


⚠️ 日期陷阱(CRITICAL — 必讀)

用戶說「2月14日」或「2/14」→ 查整個2月,但結果只顯示有位子的日期。
絕對不能把「2/4」當「2/14」! 日期要精確對應,2027-02-04 ≠ 2027-02-14。

如果用戶指定的日期沒有位子(awardPoints: null),明確告知:

❌ 2月14日 無可用里程票
✅ 本月最近有位:2月15日 (15,000 里程)

不要默默換成別的日期後說「我找到了」。



查詢多路線/多月份 → 平行 Sub-Agents(MANDATORY)

2 個以上路線或月份,必須同時 spawn,絕不串行。

每個 sub-agent 查完後立刻用 message 工具發 Telegram — 不要等其他 agent,有結果馬上發:

每個 Worker sub-agent 的任務模板:

spawn model=openrouter/anthropic/claude-haiku-4-5 allowedTools=exec,read,message

用 alaska-air skill 查 {ORIGIN}→{DEST} {YYYY}年{MM}月里程行事曆。
查完後立刻用 message 工具把結果發給用戶(Telegram to: {chat_id}),
不要等其他查詢,有結果就馬上發。
輸出格式必須含 👉 直連 URL,每個日期一個 URL,URL 單獨一行,前後各空一行。

範例:查 3 條路線 → 同時 spawn 3 個 Worker,每個跑完就各自發 Telegram,不等彼此。



單一路線查詢

Step 1: 抓 HTML

OD= 填目標月份內任何一天即可,API 回傳整月資料。

bash
curl -s -A Mozilla/5.0 (Macintosh; Intel Mac OS X 10157) AppleWebKit/537.36 Chrome/120.0.0.0 Safari/537.36 \
https://www.alaskaair.com/search/calendar?O={ORIGIN}&D={DEST}&OD={YYYY-MM-01}&A=1&RT=false&RequestType=Calendar&ShoppingMethod=onlineaward&locale=en-us \
-o /tmp/alaska{ORIGIN}{DEST}_{YYYYMM}.html

Step 2: 錯誤處理

抓完後先確認 HTML 是否含有效資料:

bash
if ! grep -q awardPoints /tmp/alaska{ORIGIN}{DEST}_{YYYYMM}.html; then
echo 抓取失敗:HTML 不含 awardPoints,可能被封鎖或路線無效
exit 1
fi

若抓取失敗,直接回報用戶「抓取失敗,請稍後再試」,不繼續執行。

Step 3: 提取資料(含直連 URL)

將以下內容寫入 /tmp/parse_alaska.py,再執行:

python

/tmp/parse_alaska.py


import re, json, sys

def scrape_alaska(origin, dest, yyyymm, adults=1):
html = open(f/tmp/alaska{origin}{dest}_{yyyymm}.html).read()
pat = r\{date:([^]+),price:([\d.]+|null),awardPoints:(\d+|null),isDiscounted:(true|false),flightSegments:\[.?\],solutionId:([^])\}
results = []
for date, price, miles, disc, sol in re.findall(pat, html):
avail = miles != null
entry = {
date: date,
available: avail,
miles: int(miles) if avail else None,
price_usd: float(price) if avail else None,
discounted: disc == true,
}
if avail:
entry[book_url] = (
fhttps://www.alaskaair.com/search/?O={origin}&D={dest}
f&D1={date}&A={adults}&RT=false&ShoppingMethod=onlineaward&locale=en-us
)
results.append(entry)
# 按日期排序(保留所有日期,含 N/A)
return sorted(results, key=lambda x: x[date])

origin, dest, yyyymm = sys.argv[1], sys.argv[2], sys.argv[3]
results = scrape_alaska(origin, dest, yyyymm)
available = [r for r in results if r[available]]
print(json.dumps(available, indent=2, ensure_ascii=False))

執行方式:

bash
python3 /tmp/parse_alaska.py {ORIGIN} {DEST} {YYYYMM}

例如:python3 /tmp/parse_alaska.py KIX TPE 202702



輸出格式(MANDATORY)

每次查詢完成後立刻發 Telegram(用 message 工具),格式:

📅 KIX → TPE | 2027年2月
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 有位日期(按里程排序):

2月4日 (四) 7,500 里程 + $48.3 ⭐

👉 https://www.alaskaair.com/search/?O=KIX&D=TPE&D1=2027-02-04&A=1&RT=false&ShoppingMethod=onlineaward&locale=en-us

2月2日 (二) 10,000 里程 + $45.1

👉 https://www.alaskaair.com/search/?O=KIX&D=TPE&D1=2027-02-02&A=1&RT=false&ShoppingMethod=onlineaward&locale=en-us

(若用戶指定日期無位)
❌ 2月14日 無可用里程票

規則:

  • - 按里程數由少到多排序
  • 最便宜加 ⭐
  • 每個日期必須有 👉 直連 URL,URL 單獨一行,前後各加空行
  • 用戶指定日期無位時明確說 ❌,不要偷換成其他日期
  • 查完即發,不等其他 agent
  • Telegram chat ID 由呼叫方提供,不寫死在此



URL 參數

O=KIX # 出發 IATA
D=TPE # 目的地 IATA
D1=2027-02-04 # 指定日期(直連訂票頁)
OD=2027-02-01 # 月份任意日(行事曆 API,回傳整月)
A=1 # 大人數
RT=false # 單程
ShoppingMethod=onlineaward
locale=en-us

已知開放 API

bash
curl https://www.alaskaair.com/search/api/citySearch/getAllAirports
curl https://www.alaskaair.com/search/api/discounts
curl https://www.alaskaair.com/account/token

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 alaska-air-1776100391 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 alaska-air-1776100391 技能

通过命令行安装

skillhub install alaska-air-1776100391

下载

⬇ 下载 alaska-air v1.0.0(免费)

文件大小: 3.52 KB | 发布时间: 2026-4-14 14:08

v1.0.0 最新 2026-4-14 14:08
Alaska Airlines Award Scraper initial release:

- Enables scraping of Alaska Airlines award calendar and flight data via HTML (no JavaScript rendering required).
- Supports single-route, one-way mileage availability searches; each query covers a full month.
- Parallel processing for multi-route or multi-month queries, with immediate Telegram messaging for each result.
- Precise date handling and clear feedback if no award seats are available on the specified date.
- Includes direct booking URLs and formatted Telegram-ready output for user convenience.
- Provides sample Bash and Python snippets for scraping and parsing award data.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部