# 抖音榜单 API 接口文档

## 接口基础信息

| 字段 | 值 |
|------|-----|
| 接口地址 | `https://onetotenvip.com/story/dyData/query` |
| 请求方式 | POST |
| Content-Type | `application/json` |
| 认证方式 | 无（公开接口） |

---

## 请求参数

```json
{
  "dateType": "days",           // 榜单周期：days=日榜  weeks=周榜  months=月榜（必填）
  "rankDate": "2026-04-27",    // 榜单开始日期（结束时间由服务器自行计算）（必填）
  "type": "美食",               // 赛道分类，默认"全部"（必填）
  "source": "抖音每日最具影响力账号"  // 固定值（必填）
}
```

> ⚠️ **重要**：`source` 必须为 `"抖音每日最具影响力账号"`，使用其他值会导致接口返回空数据！

---

## 响应结构

```json
{
  "code": 2000,
  "data": [
    {
      "accountLink":    "https://www.douyin.com/user/...",
      "accountName":    "账号名称",
      "accountRanking": 1,
      "category":       "美食",
      "fansCount":      "254.06w",
      "fansGrowth":     "6919",
      "likedGrowth":    "24.64w",
      "commentsGrowth": "6.68w",
      "collectedGrowth":"2.53w",
      "sharedGrowth":   "13.39w",
      "rankDate":       "2026-04-27",
      "rankPeriod":     "日榜"
    }
  ]
}
```

---

## 错误码

| code | 含义 |
|------|------|
| 2000 | **成功**（注意：成功码是 2000 不是 0！） |
| 其他 | 错误，data 为空数组 |

---

## 字段映射（fetch_rank.py normalized JSON）

| 接口原始字段 | normalized 字段 | 含义 |
|------------|----------------|------|
| `accountRanking` | `rank` | 排名 |
| `accountName` | `accountName` | 账号名 |
| `category` | `category` | 赛道 |
| `fansCount` | `followers` | 总粉丝数 |
| `fansGrowth` | `newFans` | 新增粉丝 |
| `likedGrowth` | `newLikes` | 新增点赞 |
| `commentsGrowth` | `newComments` | 新增评论 |
| `sharedGrowth` | `newShares` | 新增分享 |
| `accountLink` | `profileUrl` | 主页链接 |

---

## 可用赛道列表

| 赛道名称 | 说明 |
|----------|------|
| 全部 | 综合全部 |
| 个人才艺 | 个人才艺类 |
| 生活vlog | 生活Vlog类 |
| 财富理财 | 财富理财类 |
| 二次元 | 二次元类 |
| 居家装修 | 居家装修类 |
| 学习教育 | 学习教育类 |
| 小剧场 | 小剧场类 |
| 数码科技 | 数码科技类 |
| 旅行 | 旅行类 |
| 美食 | 美食类 |
| 化妆美容 | 化妆美容类 |
| 动物 | 动物类 |
| 亲子 | 亲子类 |
| 汽车 | 汽车类 |
| 情感 | 情感类 |
| 三农 | 三农类 |
| 健康医学 | 健康医学类 |
| 潮流风尚 | 潮流风尚类 |
| 舞蹈才艺 | 舞蹈才艺类 |
| 颜值造型 | 颜值造型类 |
| 人文 | 人文类 |
| 音乐 | 音乐类 |
| 影视 | 影视类 |
| 身体锻炼 | 身体锻炼类 |
| 体育 | 体育类 |
| 明星娱乐 | 明星娱乐类 |
| 游戏 | 游戏类 |

---

## 赛道模糊匹配规则

> 匹配策略：长词优先 + 全文扫描。用户任何口语化表达都会自动映射到最匹配的赛道，无法识别时降级为"全部"。

| 用户说（示例）| 映射到 |
|--------|--------|
| 美妆、彩妆、护肤、化妆品、口红、美白、美妆博主 | 化妆美容 |
| 科技、数码、手机、电脑、平板、AI、程序员、极客 | 数码科技 |
| 健康、养生、中医、减肥、营养、医生、心理 | 健康医学 |
| 美食、探店、烹饪、吃播、烘焙、菜谱、厨房 | 美食 |
| 旅行、旅游、出行、露营、徒步、打卡、景点 | 旅行 |
| 穿搭、时尚、搭配、OOTD、潮牌、球鞋、汉服、品牌 | 潮流风尚 |
| 亲子、育儿、母婴、宝宝、儿童、辅食、早教 | 亲子 |
| 教育、学习、读书、考研、高考、英语、老师、课程 | 学习教育 |
| 宠物、猫、狗、萌宠、猫咪、兔子、野生动物 | 动物 |
| 健身、运动、瑜伽、跑步、增肌、减脂、撸铁 | 身体锻炼 |
| 装修、家居、收纳、室内设计、软装、北欧风 | 居家装修 |
| 电影、剧集、综艺、电视剧、短剧、影评、追剧 | 影视 |
| 音乐、唱歌、吉他、钢琴、说唱、RAP、民谣 | 音乐 |
| 舞蹈、跳舞、街舞、古典舞、编舞 | 舞蹈才艺 |
| 明星、娱乐、偶像、追星、八卦、网红 | 明星娱乐 |
| 游戏、网游、手游、电竞、LOL、王者荣耀、原神 | 游戏 |
| 理财、财经、股票、基金、投资、创业、副业 | 财富理财 |
| 动漫、ACG、cosplay、cos、番剧 | 二次元 |
| vlog、日常、生活记录、日常vlog | 生活vlog |
| 人文、历史、文化、传统文化、国学 | 人文 |
| 汽车、车、车评、新能源、摩托车 | 汽车 |
| 农村、三农、乡村、农业、种地 | 三农 |
| 颜值、造型、发型、美发、变美 | 颜值造型 |
| 才艺、魔术、脱口秀、相声、变装 | 个人才艺 |
| 恋爱、婚姻、两性、情侣、相亲 | 情感 |
| 搞笑、剧情、小品、幽默、反转、情景剧 | 小剧场 |
| 篮球、足球、NBA、世界杯、滑雪、羽毛球 | 体育 |
| 综合、全品类、所有 | 全部 |
