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

如何在Python中获取TikTok音乐链接的重定向URL?

问题原因

TikTok的这类短音乐链接跳转,不是服务器返回的HTTP 3xx重定向,而是前端JavaScript触发的客户端跳转。requests、urllib这类HTTP请求库只会获取服务器返回的原始页面内容,不会执行页面里的JS代码,所以抓不到浏览器里完成的跳转,自然返回的还是原链接。

解决方案

方法1:用无头浏览器模拟真实访问(推荐Playwright)

Playwright能模拟完整的浏览器环境,自动执行页面JS,从而获取跳转后的最终URL:

  1. 先安装依赖:
pip install playwright
playwright install chromium
  1. 编写代码:
from playwright.sync_api import sync_playwright

def get_final_tiktok_url(original_url):
    with sync_playwright() as p:
        # 启动无头Chrome,不显示浏览器窗口
        browser = p.chromium.launch(headless=True)
        page = browser.new_page()
        # 打开链接,等待页面加载稳定
        page.goto(original_url, wait_until="networkidle")
        final_url = page.url
        browser.close()
        return final_url

# 测试示例
test_url = "https://www.tiktok.com/music/-7224086788926638082"
print(get_final_tiktok_url(test_url))

方法2:直接调用TikTok内部API(更高效)

TikTok的短链接跳转本质是通过API获取音乐信息后生成完整URL,你可以跳过浏览器,直接请求API拿到音乐标题,拼接成目标链接:

  1. 编写代码:
import requests

def build_full_music_url(songid):
    # 去掉songid开头的负号
    music_id = songid.lstrip('-')
    api_url = f"https://www.tiktok.com/api/music/detail/?musicId={music_id}"
    # 模拟浏览器请求头,避免被拦截
    headers = {
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
        "Referer": "https://www.tiktok.com/"
    }
    resp = requests.get(api_url, headers=headers)
    music_data = resp.json()
    # 提取音乐标题并处理成TikTok的slug格式
    music_title = music_data['musicInfo']['music']['title']
    processed_title = music_title.replace(' ', '-').replace('/', '-').replace('?', '').replace('!', '')
    # 拼接完整URL
    return f"https://www.tiktok.com/music/{processed_title}-{music_id}"

# 测试示例
test_songid = "-7224086788926638082"
print(build_full_music_url(test_songid))

注意:TikTok的API规则可能会变动,如果出现请求失败,需要调整请求头或检查接口地址是否更新。


内容的提问来源于stack exchange,提问作者iim7b5-v7-im7

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 11:57:15