You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求合并TikTok视频ID解析与数据获取代码实现无水印下载

解决方案

下面是合并后的完整代码,同时优化了响应解析逻辑,能直接提取并输出关键信息(包括无水印视频链接):

import requests
import json

def get_tiktok_data(aweme_id):
    # 构造API请求URL
    api_url = f"https://api16-normal-useast5.us.tiktokv.com/aweme/v1/aweme/detail/?aweme_id={aweme_id}"
    # 添加请求头,模拟浏览器访问,避免被拦截
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
    }
    
    try:
        # 发送GET请求
        response = requests.get(api_url, headers=headers)
        response.raise_for_status()  # 检查请求是否成功
        data = response.json()
        
        # 提取关键信息
        aweme_info = data.get("aweme_detail", {})
        if not aweme_info:
            print("未找到视频相关数据")
            return
        
        # 无水印视频链接(优先取无水印的play_addr)
        video_url = aweme_info.get("video", {}).get("play_addr", {}).get("url_list", [])[0] if aweme_info.get("video") else "未获取到无水印视频链接"
        # 作者头像
        avatar_url = aweme_info.get("author", {}).get("avatar_thumb", {}).get("url_list", [])[0] if aweme_info.get("author") else "未获取到作者头像链接"
        # 音频链接
        audio_url = aweme_info.get("music", {}).get("play_url", {}).get("url_list", [])[0] if aweme_info.get("music") else "未获取到音频链接"
        # 视频标题
        title = aweme_info.get("desc", "无标题")
        
        # 输出信息
        print("=== TikTok视频信息 ===")
        print(f"视频标题: {title}")
        print(f"无水印视频链接: {video_url}")
        print(f"作者头像链接: {avatar_url}")
        print(f"音频链接: {audio_url}")
        
    except requests.exceptions.RequestException as e:
        print(f"请求出错: {e}")
    except json.JSONDecodeError:
        print("响应解析失败,可能API返回格式异常")
    except IndexError:
        print("数据字段缺失,无法提取对应信息")

if __name__ == "__main__":
    # 获取用户输入的视频ID
    try:
        aweme_id = input("请输入TikTok视频ID >>> ")
        # 验证输入是否为有效数字(TikTok视频ID是整数)
        int(aweme_id)
        get_tiktok_data(aweme_id)
    except ValueError:
        print("请输入有效的整数视频ID")

关键优化点说明

  • 请求头添加:TikTok的API会拦截无标识的请求,添加User-Agent模拟浏览器访问,提升请求成功率
  • 错误处理:加入请求异常、JSON解析异常、字段缺失的捕获处理,避免程序直接崩溃
  • 结构化输出:不再打印原始的JSON响应,而是提取用户关心的核心字段,输出更清晰
  • 输入验证:检查用户输入的是否为有效整数,避免无效请求

使用说明

  1. 确保已经安装requests库:如果没安装,执行命令 pip install requests
  2. 运行代码,输入TikTok视频ID(比如7165099726885457178)
  3. 终端会输出整理后的视频关键信息,直接复制无水印链接即可下载视频

内容的提问来源于stack exchange,提问作者Gayathra Sandeepana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 13:45:32