如果我有视频ID,如何获取TikTok无水印视频网址?

问题描述 投票:0回答:2

我有一个从 TikTok 获取无水印视频网址的功能,但它不再起作用了。

如果我有视频ID,如何获取TikTok无水印视频网址?

def get_tiktok_video_nowatermark(url):
   headers = {
       "method": "GET",
       "accept-encoding": "utf-8",
       "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
   }
   req = requests.get(url, headers=headers).text

   video_data = json.loads(re.findall(u"<script id=\"__NEXT_DATA__\" type=\"application/json\" crossorigin=\"anonymous\">(.*?)</script><script crossorigin=\"anonymous\" nomodule=", req)[0])

   watermark_url = video_data["props"]["pageProps"]["videoData"]["itemInfos"]["video"]["urls"][0]

   watermark_video = str(requests.get(watermark_url, headers=headers).content)

   position = int(re.search(r"vid:", watermark_video).start())

   nowatermark_url = "https://api2.musical.ly/aweme/v1/playwm/?video_id=" + watermark_video[position+4:position+36]

   return nowatermark_url
python python-3.x extract tiktoktemplate
2个回答
4
投票
def get_tiktok_video_nowatermark(url):
   headers = {
       "method": "GET",
       "accept-encoding": "utf-8",
       "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"
   }
   req = requests.get(url, headers=headers).text

   video_data = json.loads(re.findall(u"<script id=\"__NEXT_DATA__\" type=\"application/json\" crossorigin=\"anonymous\">(.*?)</script><script crossorigin=\"anonymous\" nomodule=", req)[0])

   watermark_url = video_data["props"]["pageProps"]["videoData"]["itemInfos"]["video"]["urls"][0]

   watermark_video = str(requests.get(watermark_url, headers=headers).content)

   position = int(re.search(r"vid:", watermark_video).start())

   nowatermark_url = "https://api.tiktokv.com/aweme/v1/play/?video_id=" + watermark_video[position+4:position+36] + "&vr_type=0&is_play_url=1&source=PackSourceEnum_PUBLISH&media_type=4&ratio=default&improve_bitrate=1"

   return nowatermark_url

此外,请确保您请求

nonwatermark_url
时不带任何用户代理标头,否则您将得到空结果。如果您可以向 url 发出 head 请求并确定可以直接传递到浏览器进行播放或下载的
final url
,那就更好了。


-1
投票

要使用视频 ID 获取没有水印的 TikTok 视频 URL,通常需要使用网页抓取技术,因为 TikTok 不提供用于此目的的直接 API。以下是该方法的简要概述:

使用视频 ID 构建 TikTok 视频页面的 URL。 使用网页抓取工具来获取页面内容。 从页面中提取视频 URL。 请注意,从 TikTok 抓取内容可能违反他们的服务条款。始终确保遵守他们的政策。

更多详情和代码示例,可以访问我的网站tik804.com,我提供了tiktok视频下载工具

© www.soinside.com 2019 - 2024. All rights reserved.