feat(monitor): 抖音 Web 接口客户端 —— 绕开爬虫子进程,直接发 HTTP
移植自 mac-agent-os 的 mediacrawler_adapter:不起子进程、不开页面,用浏览器里那份
登录态直接调抖音 Web 接口。产物键名照抄 store/douyin,所以 ingest 那条链路一个字不用改。
**目前能用的(真环境实测,非推断)**:
profile/other : 200, 7075 字节 —— 博主主页指标(粉丝/获赞/作品数/昵称)
aweme/detail : 200, 45425 字节 —— 单条作品详情(含点赞/评论/收藏/分享)
**目前不能用的:作品列表 `aweme/post`。** 两个互相独立的原因:
1. 这个接口被抖音单独升级成了真校验:不带 x-tt-argus 回 403「Uifid Not Found」,
带上 dummy 值回 200 + **空 body**。也就是说「头在不在」骗得过,「真校验」过不了。
同一套头打 profile/other 和 aweme/detail 都是通的 —— 抖音是挑着接口加保护的,
挑中的恰好是「批量拉作品列表」这个最敏感的动作。
2. 改走页面截获也不行:CDP 浏览器打开博主主页会落到「验证码中间页」(当天大量探测的
代价,过几小时要重测)。
所以现在的边界是:**已知作品的指标刷新能做,自动发现新作品做不了**。
**排查中控住变量后得到的两条事实**(都写进注释了):
· `Accept` / `Accept-Language` / `Referer` 才是主页接口能返回真数据的原因 —— 只有
UA+client hints+Cookie 时是 200 但仅 121 字节的空壳,补上这三个头变 7074 字节。
(我先前猜的 sec-ch-ua 不是关键。)
· 因此 UA 与 client hints 必须**成套地取自同一个浏览器**,所以 BrowserIdentity 一次
从 CDP 取齐 cookie + UA + hints,而不是各自写死。
「200 + 空 body 必须当场报错」也是刻意写死的:放过去它会在下游变成「这个博主没作品」,
把一次失败伪装成一条正常结果 —— 爬虫那条路正是这么栽的,还被翻译成「账号被封」。
测试 +11:cookie 解析、请求头成套性(含 uifid 缺失/回退)、产物键名与 store 对齐、
以及 _get 的三条失败路径(空 body / 403 带网关原话 / 正常返回)。
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
# CosyVoice 音色清单(从阿里云官方文档抓取)
|
||||
|
||||
> 来源:https://help.aliyun.com/zh/model-studio/cosyvoice-voice-list
|
||||
> 抓取时间:2026-10-02 · 模型:`cosyvoice-v3.5-plus`(配置项 `aliyun.cosyvoice_model`)
|
||||
> 用法:`synthesize(text, output_path, api_key, voice_id=<此处的 voice 参数>, emotion, speed)`
|
||||
>
|
||||
> ⚠️ 每个模型只支持一组特定音色,不可跨模型混用;待合成文本语言须在音色支持范围内。
|
||||
|
||||
## 中文普通话 · 成年音色(45 个,适合对话/短剧)
|
||||
|
||||
### 男声
|
||||
| 名称 | voice 参数 | 特质 | 年龄 |
|
||||
|:--|:--|:--|:--|
|
||||
| 龙安洋 | `longanyang` | 阳光大男孩 | 20~30 |
|
||||
| 龙安朗 | `longanlang_v3` | 清爽利落男 | 20~25 |
|
||||
| 龙逸尘 | `longyichen_v3` | 洒脱活力男 | 20~30 |
|
||||
| 龙泽 | `longze_v3` | 温暖元气男 | 25~30 |
|
||||
| 龙哲 | `longzhe_v3` | 呆板大暖男 | 25~30 |
|
||||
| 龙安昀 | `longanyun_v3` | 居家暖男 | 30~35 |
|
||||
| 龙天 | `longtian_v3` | 磁性理智男 | 30~35 |
|
||||
| 龙浩 | `longhao_v3` | 多情忧郁男 | 30~35 |
|
||||
| 龙寒 | `longhan_v3` | 温暖痴情男 | 30~35 |
|
||||
| 龙安智 | `longanzhi_v3` | 睿智轻熟男 | 25~35 |
|
||||
| 龙三叔 | `longsanshu_v3` | 沉稳质感男 | 25~45 |
|
||||
| 龙硕 | `longshuo_v3` | 博才干练男 | 25~30 |
|
||||
| 龙修 | `longxiu_v3` | 博才说书男 | 25~35(旁白佳) |
|
||||
| 龙机器 | `longjiqi_v3` | 呆萌机器人 | 20~30 |
|
||||
| 龙猴哥 | `longhouge_v3` | 经典猴哥 | 20~25 |
|
||||
|
||||
### 女声
|
||||
| 名称 | voice 参数 | 特质 | 年龄 |
|
||||
|:--|:--|:--|:--|
|
||||
| 龙小淳 | `longxiaochun_v3` | 知性积极女 | 25~30(经典) |
|
||||
| 龙小夏 | `longxiaoxia_v3` | 沉稳权威女 | 25~30 |
|
||||
| 龙华 | `longhua_v3` | 元气甜美女 | 20~25 |
|
||||
| 龙星 | `longxing_v3` | 温婉邻家女 | 20~25 |
|
||||
| 龙安亲 | `longanqin_v3` | 亲和活泼女 | 20~25 |
|
||||
| 龙菲菲 | `longfeifei_v3` | 甜美娇气女 | 20~25 |
|
||||
| 龙安欢 | `longanhuan_v3` | 欢脱元气女 | 20~30 |
|
||||
| 龙安灵 | `longanling_v3` | 思维灵动女 | 20~30 |
|
||||
| 龙婉 | `longwan_v3` | 细腻柔声女 | 20~30 |
|
||||
| 龙婉君 | `longwanjun_v3` | 细腻柔声女 | 20~30 |
|
||||
| 龙安柔 | `longanrou_v3` | 温柔闺蜜女 | 20~35 |
|
||||
| 龙应沐 | `longyingmu_v3` | 优雅知性女 | 25~30 |
|
||||
| 龙应聆 | `longyingling_v3` | 温和共情女 | 25~30 |
|
||||
| 龙应桃 | `longyingtao_v3` | 温柔淡定女 | 25~30 |
|
||||
| 龙应静 | `longyingjing_v3` | 低调冷静女 | 25~35 |
|
||||
| 龙安温 | `longanwen_v3` | 优雅知性女 | 25~35 |
|
||||
| 龙安雅 | `longanya_v3` | 高雅气质女 | 25~35 |
|
||||
| 龙安莉 | `longanli_v3` | 利落从容女 | 25~35 |
|
||||
| 龙妙 | `longmiao_v3` | 抑扬顿挫女 | 25~30 |
|
||||
| 龙颜 | `longyan_v3` | 温暖春风女 | 30~35 |
|
||||
| 龙悦 | `longyue_v3` | 温暖磁性女 | 30~35 |
|
||||
| 龙嫱 | `longqiang_v3` | 浪漫风情女 | 30~35(御姐/魅惑) |
|
||||
| 龙媛 | `longyuan_v3` | 温暖治愈女 | 35~40 |
|
||||
| 龙安燃 | `longanran_v3` | 活泼质感女 | 30~40 |
|
||||
| 龙安宣 | `longanxuan_v3` | 经典直播女 | 30~40 |
|
||||
| 龙安台 | `longantai_v3` | 嗲甜台湾女 | 20~25 |
|
||||
| 龙应笑 | `longyingxiao_v3` | 清甜推销女 | 20~25 |
|
||||
|
||||
## 儿童 / 青少年(供参考)
|
||||
龙呼呼 `longhuhu_v3`(天真烂漫女童 6~10)、龙泡泡 `longpaopao_v3`(飞天泡泡音 6~15)、
|
||||
龙杰力豆 `longjielidou_v3`(阳光顽皮男 10)、龙仙 `longxian_v3`(豪放可爱女 12)、
|
||||
龙铃 `longling_v3`(稚气呆板女 10)、龙闪闪 `longshanshan_v3`(戏剧化童声)、龙牛牛 `longniuniu_v3`(阳光男童声)
|
||||
|
||||
## 方言
|
||||
龙嘉欣 `longjiaxin_v3`(优雅粤语女)、龙嘉怡 `longjiayi_v3`(知性粤语女)、
|
||||
龙安粤 `longanyue_v3`(欢脱粤语男)、龙老铁 `longlaotie_v3`(东北直率男)、
|
||||
龙陕哥 `longshange_v3`(原味陕北男)、龙安闽 `longanmin_v3`(清纯萝莉女·闽南)
|
||||
|
||||
## 外语(出海用)
|
||||
日语 `loongriko_v3` / `loongtomoka_v3` / `loongtomoya_v3` / `loongyuuna_v3` / `loongyuuma_v3`、
|
||||
韩语 `loongkyong_v3` / `loongjihun_v3`、美式英语 `loongabby_v3` 等、印尼语 `loongindah_v3`
|
||||
|
||||
## 项目建议音色池(角色分配用)
|
||||
|
||||
- **年轻男主**:`longanyang`(阳光大男孩)· `longanlang_v3`(清爽利落)
|
||||
- **成熟男主**:`longtian_v3`(磁性理智)· `longsanshu_v3`(沉稳质感)
|
||||
- **女主角**:`longxiaochun_v3`(知性)· `longhua_v3`(元气甜美)
|
||||
- **魅惑/御姐**:`longqiang_v3`(浪漫风情)
|
||||
- **配角/路人男**:`longze_v3` · `longzhe_v3` · `longanlang_v3`
|
||||
- **配角/路人女**:`longxing_v3` · `longmiao_v3` · `longanqin_v3`
|
||||
- **旁白**:`longxiu_v3` · `longshuo_v3` · `longyue_v3`
|
||||
|
||||
> 注:音色资产的 `voice_id` 字段即上表的 voice 参数(如 `longanyang`)。
|
||||
> 未指定音色的角色 → 按角色代号从「配角/路人」池稳定分配(同一角色全片同一音色)。
|
||||
Reference in New Issue
Block a user