泥潭日报 uscardforum · 内容汇总

0基础用Python和Postman搜里程票教程

内容摘要

AA反爬致旧教程失效,社区建组织并讨论新提取方案

关键信息

  • 教程作者 @smb 提供 0 基础使用 Python 和 Postman 搜索 AA 里程票的完整步骤(#1),包括:在 aa.com 搜索、使用开发者工具复制 cURL、在 Postman 导入、修改 Body、发送请求、并用 ChatGPT 生成 Python 代码处理响应。
  • 核心工具:Python、Postman、ChatGPT 及 curlconverter.com#2)。
  • AA 日历 API 端点:/booking/api/search/calendar 原先无需 cookie 即可运行(#89, #134),但近期 cookie 变得尤为重要(#179)。
  • 反爬升级:AA 部署了 Akamai Bot Manager Premier,通过收集指纹、行为分析及动态 JS 挑战进行拦截(#181);数据中心 IP 极易被封(#162),家用裸 IP 相对安全(#164)。
  • 封 IP/403 问题:大量用户反馈遭遇 AA 封 IP 或 403 报错(#8, #9, #11, #171-175, #179),作者 @smb 亦遇到同样情况(#172)。
  • 自动化部署:推荐使用 screen/tmux(#63-64)、cronjob(#85)、cloud function(#90)或 apscheduler(#85)等方案。
  • 其他航司反爬情况:UA 存在反爬(#116),AC 使用 Cloudflare(#110),BA 需登录(#112),AV 查票过多易封号(#113),国泰则相对简单(#143)。
  • 社区协作进展:@EVP 提议建立 GitHub org 共享代码避免重复造轮子(#193);该组织已被用户 @nitansde 建立,地址为 nitansde,目前有一个可用仓库,需联系 @nitansdm 获取权限或贡献代码(#198)。

最新动态

  • AA 反爬升级:2024 年 6 月左右 AA 部署了新防爬技术导致大量用户脚本失效(#175, #179, #181),目前需要更复杂的指纹模拟或 headless browser。
  • 会员晋升:教程作者 @smb 凭本教程成功升级为论坛钛金会员(#76)。
  • 新解决方案:用户 @coolguy100 使用 Claude.code 编写代码,控制 Chrome 浏览器并登录 AA 账号,自动提取所需的 4-5 个 token,随后运行剩余代码查票(#188)。该用户报告此方案可在 12 分钟内跑完日航和 AA 大亚洲到美国的 6 月经济舱和商务舱(#192,附截图)。
  • 新方案可行性探讨:针对 @coolguy100 提议的“5 分钟查 72 个线路日期组合”(#186),用户讨论了其执行效率,部分用户怀疑其脚本是否真能达到该速度(#189-191)。
  • 仓库失效反馈:用户 @coolguy100 在 #194 提供了三个现有仓库链接,但 Sekinal/aa_contest 已被用户 @testars 测试并证实因 Akamai 再次升级而失效(#195);另外两个中 tszumowski/aa_flight_search_tool 为 3 年前所写,也已失效。
  • 截图分享:@coolguy100 额外上传了多张查票相关的截图,显示目前仅剩个别可用链接(#197, #199-200)。

争议与疑问

  • 0 基础可行性:部分用户认为 0 基础连 Python 都装不上(#16, #22),但 @smb 认为 Windows 下直接下载安装即可(#18)。
  • 封 IP 原因争议:@smb 认为与 IP 无关,因为相同 IP 下 Postman 正常但 Python 脚本被 block(#174);其他用户则坚持认为是数据中心 IP 导致(#162)。
  • 自动化运行频率:有人 10 秒一发表示无异常(#148),有人 10 分钟一发仍被限(#150-154),建议保持保守频率。
  • 数据真实性质疑:用户 @sukasky 对 6 月 HND-LAX 航线出现大量 60k 商务舱票表示怀疑,认为数据可能存在偏差(#196)。
  • 新提取方案细节:用户 @Corsair 询问 @coolguy100,提取 token 和运行 search 这两步是否是分开手动执行的,以及 token 的有效时间、是否会过段时间失效需要频繁人工介入(#201)。

行动建议

  • 查票策略:若需搜 AA 里程票,优先使用本教程方法,但必须控制频率(建议 1 秒 1 次以上,避免并行请求,参考 #148;也可参考 @coolguy100 每 5 分钟一次的成功频率,参考 #186)。
  • 403 规避:遇到 403 报错时,尝试更换 header、清除 cookie 或改用家用 IP 替代数据中心 IP(#162, #164)。
  • 技术演进:推荐使用 headless browser(如 Playwright)结合 rate limit(#47),或手动登录 AA 后运行脚本提取 token(#181)。推荐参考 @coolguy100 使用 Claude.code 自动控制 Chrome 提取 token 的思路(#188),但由于其 token 时效性与手动干预程度仍有待验证(#201),稳定性有待观察。
  • 自动化部署:推荐使用 cloud function + scheduler(#90)或在服务器上通过 screen/tmux 挂机运行(#63-64)。
  • 社区共建:建议积极参与新建立的 GitHub 组织(nitansde),共享查票脚本以应对 Akamai 不断升级的反爬策略,避免重复造轮子(#198)。使用现有开源仓库前务必验证其对最新 Akamai 系统的兼容性,Sekinal/aa_contest 已确认失效(#195)。