用 Python 下载抖音无水印视频 Python 第1张

说起抖音,大家或多或少应该都接触过,如果大家在上面下载过视频,一定知道我们下载的视频是带有水印的,那么我们有什么方式下载不带水印的视频呢?其实用 Python 就可以做到,下面我们来看一下。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

首先,我们打开抖音随意找一个视频,如下图所示:

用 Python 下载抖音无水印视频 Python 第2张

然后点击分享按钮,找到复制链接选项,如下图所示:

用 Python 下载抖音无水印视频 Python 第3张

接着,我们点击按钮复制链接,比如我复制的链接为: https://v.douyin.com/JePfx5f/ ,然后我们将链接复制到谷歌浏览器上,按 F12 打开开发者工具,再切换到移动设备,选择 Network,如下图所示:

用 Python 下载抖音无水印视频 Python 第4张

我们接着按回车键进行访问,然后在 Filter 中输入 item,进而我们可以找到 item_ids 和 dykt,如下图所示:

用 Python 下载抖音无水印视频 Python 第5张

再切换到 Preview,我们可以发现有一个 play_addr,如下图所示:

用 Python 下载抖音无水印视频 Python 第6张

我们通过 play_addr 就可以下载无水印视频了。

看一下主要实现代码:

share_url = "https://v.douyin.com/JePfx5f/"
# 获取 itemId、dytk get = requests.get(share_url, headers=headers) html = get.content itemId = re.findall(r"(?<=itemId:\s\")\d+", str(html)) dytk = re.findall(r"(?<=dytk:\s\")(.*?)(?=\")", str(html)) # 组装视频长链接 long_url = "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids="+itemId[0]+"&dytk="+dytk[0] # 请求长链接,获取 play_addr video_open = requests.get(long_url, headers=headers) vhtml = video_open.text uri = re.findall(r'(?<=\"uri\":\")\w{32}(?=\")', str(vhtml)) # video_id 是长链接唯一变动的,提取出 uri 进行组装得到最终链接 play_addr = "https://aweme.snssdk.com/aweme/v1/play/?video_id="+uri[0]+\ "&line=0∶=540p&media_type=4&vr_type=0&improve_bitrate=0&is_play_url=1&is_support_h265=0&source=PackSourceEnum_PUBLISH" # 保存短视频 video = requests.get(url=play_addr, headers=headers) with open("download.mp4", "wb") as file: file.write(video.content) file.close() print("抖音无水印视频下载完成!")
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄