jsonscraper

TikTok 工程指南

如何使用 Python 抓取 TikTok 数据

更新于 2026 年 3 月 5 日 3 分钟阅读 10 次浏览

本指南展示了如何使用用户/个人资料端点、搜索路线和无水印提取用例构建强大的 TikTok 数据管道。

TikTok API 地图包括用户、视频、主题标签、位置、音乐、趋势、效果和搜索类别。这允许一个后端同时支持分析、审核和丰富工作流程。

你将构建的内容

Postman 快速开始

打开官方 TikTok 集合,设置 license_key,并在编码前验证首批路由。

步骤1

叉子

使用 IG 或 TikTok Postman 集合作为您的工作区基线。

步骤2

设置键

Configure license_key once in an environment variable.

步骤3

自动化

导出片段或根据就绪请求运行 AI 代理工作流程。

全部 API 请求

集合中的完整端点地图。展开每个分类并点击路由,即可查看参数与响应示例。

视频 搜索 用户 话题标签 位置 音乐 热门 特效 故事 播放列表 直播
视频 (8 endpoints)
搜索 (9 endpoints)
用户 (15 endpoints)
话题标签 (3 endpoints)
位置 (2 endpoints)
音乐 (3 endpoints)
热门 (2 endpoints)
特效 (3 endpoints)
故事 (2 endpoints)
播放列表 (3 endpoints)
直播 (4 endpoints)
在 Postman 中查看完整端点列表

来自集合的 Python 示例

这些示例使用与 Postman 相同的鉴权方式:在查询参数中传递 license_key。

Example 1: search video by keyword (GET /searchVideo)

import requests

BASE_URL = "https://tiktok.evelode.com/tiktok-api"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "keyword": "appletv",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/searchVideo", params=params, timeout=30)
r.raise_for_status()
data = r.json()

print(data["status"], data.get("tiktok", {}).get("cursor"))
{
  "status": "ok",
  "tiktok": {
    "cursor": 12,
    "aweme_list": []
  }
}

Example 2: get no-watermark URL by video ID (GET /getNoWatermarkUrlByID)

import requests

BASE_URL = "https://tiktok.evelode.com/tiktok-api"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "video_id": "7106855913906081070",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/getNoWatermarkUrlByID", params=params, timeout=30)
r.raise_for_status()
data = r.json()

print(data["status"], data["tiktok"]["id"])
print(data["tiktok"]["url"])

Python 请求模式(鉴权 + 分页)

集中处理请求签名和游标逻辑,让高并发任务更可预测。

import requests

BASE_URL = "https://tiktok.evelode.com/tiktok-api"
LICENSE_KEY = "YOUR_LICENSE_KEY"

def call(endpoint: str, **params):
    q = {"license_key": LICENSE_KEY, "cache_timeout": 0, **params}
    r = requests.get(f"{BASE_URL}{endpoint}", params=q, timeout=30)
    r.raise_for_status()
    return r.json()

page1 = call("/getFollowers", query="therock", count=20)
next_cursor = page1.get("tiktok", {}).get("next_cursor")
if next_cursor:
    page2 = call("/getFollowers", query="therock", count=20, cursor=next_cursor)

实现说明

  • 每个请求都应包含 license_key。
  • 对重复检查场景显式设置 cache_timeout。
  • 将游标字段与查询上下文一起持久化。
  • 完成基线验证后,按端点分类逐步扩展覆盖范围。

准备好启动您的 API 工作流程了吗?

选择 API,在 Postman 测试端点,几分钟内上线工作流。