最新抖音视频无水印解析-播放地址及下载

前面的文章分别写了无水印解析的原理及接口频率限制突破的办法

  • 最新抖音视频无水印解析接口及原理
  • 最新抖音视频无水印解析接口-突破频率限制

现在谈谈基于以上方式获得的视频地址的下载办法。

我们会获得如下地址
如果你对这方面有兴趣,可以和我们一群程序员交流学习,共同进步

695623459
https://aweme-hl.snssdk.com/aweme/v1/play/?video_id=v0200fee0000bl59elet8ah4rl1hnqa0&line=0&ratio=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1

该地址会重定向到一个新的对象存储地址,如下

http://v3-dy-z.ixigua.com/baa51552e712e0896f84cfa3592f03f2/5d4cdd45/video/m/220f89783845cd546b8b1ea94af3e8c12ba11631a57600008b781fe381c4/?rc=M3Rrbzdkd288bzMzaGkzM0ApdSkzMzo0MzQ1MzM4NzMzMzQ1bzg0PDxlNzQ7NWZoOjo6NmhAaUBoNHYpQGczdilAZjs0QF5rLm9lNWJiMl8tLWItL3NzOmk%2FQS0tLy4xLS4zLTY2NTYtOiM2MjQyMzItX2ExLzE2NmJjYSNvIzphLW8jOmAtbyMvLl4%3D

所以,如果直接下载接口中的地址,会发现,下载的视频都是[黑色的视频不见了]

最新抖音视频无水印解析-播放地址及下载_第1张图片
如上图,需要先拿到重定向的地址

def getRealPlayAddress(url):
    res = requests.get(url, headers=HEADERS, allow_redirects=False)
    if res.status_code == 302:
        long_url = res.headers['Location']
        HEADERS['Referer'] = long_url
        return long_url
    return None

然后下载该地址的视频即可

def download(video_src):
    vid = video_src.split("?video_id=")[1].split("&")[0]
    dl_url = getRealPlayAddress(video_src)
    r = requests.get(dl_url)
    with open( vid + ".mp4", "wb") as code:
        code.write(r.content)

这里的下载不需要任何的header设置

你可能感兴趣的:(tiktok)