欧陆新闻 分类
Python 爬虫实战:抖音短视频去水印爬虫详解 发布日期:2023-11-27 10:56:08 浏览次数:

这是我参与11月更文挑战的第6天,活动详情查看:2021最后一次更文挑战

我们知道,在抖音APP中下载到的视频是有水印的,这就催生出了很多抖音短视频去水印的解析网站,小程序等。所以说,抖音短视频去水印这个东西并不是什么新鲜玩意儿,甚至你可以很轻松的在网上搜到抖音去水印的程序源代码。

本文主要是从爬虫程序的角度,讲解遇到这样的问题我们应该如何分析,如何抓包,如何一步步写出自己的爬虫,让大家明白去水印的接口是怎么找到的,网上的代码是怎么写出来的。

我会尽量讲解细致一些,争取让初学者也能看懂。

话不多说,我们开始。

首先,从分享链接入手,在抖音APP中分享视频,点击复制链接,即可得到如下所示的分享文字。

1.25 GiC:/ 我把自己拍尴尬了 v.douyin.com/RCxwDgH/ 复制此链接,打幵Dou音搜索,直接观看视频!

其中关键的部分 v.douyin.com/RCxwDgH/

复制到浏览器中打开后,会跳转到一个网页

网页重定向

网址是: www.douyin.com/video/68585…

我们会发现,网页中的这个视频,是没有水印的!!!

也就是说,我们只需要把网页中的这个视频下载下来就可以了。

如果你想手动下载的话,其实很简单。

打开浏览器的开发者工具,切换到 Network,过滤器选择 Media,然后刷新网页,这时候就会发现抓到一个请求包。

开发者工具抓包

复制 URL 打开,鼠标右键,视频另存为就可以下载了。

无水印视频

无水印视频链接:v26-web.douyinvod.com/f86f203fbba…

如果大家临时有视频去水印的需求,又不想写代码时,可以试试这个方法。

手动抓包确实简单有效,但是我们目标还是想用代码的方式,来实现一键解析和视频下载。这样纯手动下载显然达不到我们的要求。

我们重新回过头来捋一捋。

首先,我们访问 v.douyin.com/RCxwDgH/ 网址时,会重定向跳转到一个别的网址。

这个重定向的过程在浏览器中是一瞬间完成的,这个过程中发生了什么我们并不清楚,不过我们可以通过 Python 来发起请求。


运行结果,是一个 标签, 便是重定向后的地址。

不过,关于重定向的情况,一般我们获取它的 在其中查找 的值。

获取到重定向后的地址之后,我们访问该地址。

www.iesdouyin.com/share/video…

:这里有个小坑,如果你用 PC 浏览器直接访问这个地址的话,它又会跳转到另一个网址 ;而用手机浏览器访问的话,地址则维持不变(在开发者工具中,点击图中箭头所指的位置,可以切换成手机浏览器模式)。

PC浏览器访问

手机浏览器访问

而我们破解无水印短视频的关键接口,在手机浏览器模式下访问才能抓到。

视频信息API接口

视频信息接口:www.iesdouyin.com/web/api/v2/…

只有一个参数 ,而它的值在前面重定向的链接中可以获取到。

无水印视频链接就在 -> -> -> 。

无水印视频链接

无水印视频链接:v6-z.douyinvod.com/21880dfba8d…

上述我们通过两种方法,手动抓包和代码的方式获取到了抖音去水印的视频链接。

接下来我们编写代码,完成我们的爬虫程序。

首先是一些准备工作,导入需要的库


根据 获取重定向后的 的函数


根据 获取 的函数


下载视频的函数


以及主函数


整理一下代码,完整代码如下:




运行代码,可以成功解析并下载到无水印视频。

运行结果演示

在这个爬虫的研究过程中,让我有几点收获,跟大家分享一下

  1. 网址重定向问题,可以在 函数中,设置参数 来禁止重定向,这样我们可以细致的了解到 url 请求的整个过程。

  2. 中的 不同,获取到的数据可能也不同,本文的爬虫即是这样,使用 PC浏览器和手机浏览器的 ,会跳转至不同的页面。


如果文章中有哪里没有讲明白,或者讲解有误的地方,欢迎在评论区批评指正,或者扫描下面的二维码,加我微信,大家一起学习交流,共同进步。

加我好友


平台注册入口