惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - Franky
MyScale Blog
MyScale Blog
A
About on SuperTechFans
博客园_首页
B
Blog RSS Feed
Martin Fowler
Martin Fowler
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Vercel News
Vercel News
C
Check Point Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
I
InfoQ
罗磊的独立博客

明明如月成长笔记

个人数据的开源备份:从明清档案之殇想到的 简体字的双重优势:打字效率与扫盲成效全解析 四小时深圳书城奇遇:那些藏在书架间的偶然与必然 正式把我的笔记系统迁移到 Obsidian,为了和 AI 配合 Gemini CLI 登录踩坑记录:GOOGLE_CLOUD_PROJECT_ID 的坑与解法 在 MacOS 上,成功恢复存储卡上被误删的照片 AI CLI 工具:Claude Code, Codex, Gemini CLI, Qwen code, CodeBuddy cli, cursor-agent 我的常用命令 港漂日记62:父亲节独自带娃,室内游戏、香港公园探展、观鸟、品味米其林餐厅 港漂日记61:香港私立诊所首诊:商业医保如何改变我的就医体验? 香港历史博物馆:看秦始皇兵马俑,还能和孔子比身高? 港漂日记59:母亲节礼物!AI 涂色小技巧,让孩子的爱跃然纸上 港漂日记60:西营盘网红旧书店 Book & Go 淘书记 港漂日记58:萌娃中环学体操,课后老师狂点赞 五一游记D4:深圳笔架山儿童乐园,邂逅无人机送外卖 我的400篇博客都写了些什么 珊瑚海兔四岁啦 港漂日记D159:亲子同乐日:一场精彩的幼儿园嘉年华 蛇年春节自驾D10:东莞-深圳-香港 DeepSeek教我如何收拾行李箱 福田取逗留签 回港新方式 蛇年春节自驾D9:江门-顺德-东莞 中国侨都华侨华人博物馆 东莞迎宾馆 蛇年春节自驾D8:茂名-开平-江门 挥春作业 粤西堵车 开平碉楼 迎财神 茂名博物馆参观记 蛇年春节自驾D7:茂名 中国第一摊 茂名博物馆 亚朵酒店 蛇年春节自驾D6:南宁-茂名 发财树 青秀山 路途亲子游戏 蛇年春节自驾D5:南宁过大年 醒狮贺岁 三街两巷 特色美食 骑行穿城 琅西夜市 打铁花 新春好!我用DeepSeek写祝福,顺便送你三款红包封面 蛇年春节自驾D4:钦州-南宁 钦州老街,万丽年夜饭 蛇年春节自驾D3:海陵岛-钦州 绝美悬崖餐厅,海景房租赁行情 明明如月成长笔记2024年公众号创作回顾(含免费红包封面🧧) 蛇年春节自驾D2:深圳-阳江-海陵岛 明明和虹虹2024年公众号创作回顾(含免费红包封面🧧)
南航随心飞机票爬虫解密 acw_sc__v2
lmm333 · 2025-06-04 · via 明明如月成长笔记

最近在写南航随心飞机票的爬虫,部分 API 都是不加密的,可以直接抓取。但是很核心的抓取某日每个航班库存的 API 是加密的。

经过分析,这个 API 请求的时候,cookie 里有两个强制的字段,一个是 TOKEN,这是用户登录信息。另一个是 acw_sc__v2 这是用来加密的字段,如果参数不对,会返回一个加密的 html 页面,需要解密。

自己解密比较麻烦,也许可以用无头浏览器搞,但我没有尝试。经过搜索(搜索关键词就是 acw_sc__v2),发现这是个和阿里云有关的加密方式,github 上已经有个清华的大佬写好了解密的库 node.js 和 python 版本,可以直接使用,使用时用该 lib 替换 request 即可。

我看了 python 库的实现,主要是拦截请求的返回,如果是加密页面,就调用解密的 API 进行解密,然后带着加码字段,再请求,就能有正常的返回了。

python 库里引用的作者自己 host 的解码 API 已经不能使用了,(当然,使用的话也可能会有安全风险),我也作者提了 issue, 作者回复很快,但尚未修复,提供的 selfhost 的方案。

好在作者提供的 self 的 docker 镜像可以直接使用,直接拉取下, 然后把请求自己的 selfhost 的 API 即可。

docker run --rm --interactive --tty --publish 3000:3000 ghcr.io/wangyihang/acw-sc-v2.js:main

我本地有 3000 端口的服务在运行,所以我改成了 3001 端口, 然后保持在后台运行

docker run -d -p 3001:3000 ghcr.io/wangyihang/acw-sc-v2.js:main

参考github代码库:

参考解密技术文章: