用Python下载抖音无水印视频!
/ 01 / Python下载
首先来看一下,直接访问抖音链接得到的结果。
妥妥的水印...
接下来打开浏览器的开发者工具,看看视频的地址。
可以发现「playAddr」就是视频的地址,复制然后访问。
链接会重定向到以「v9」开头的链接,然而还是有水印。
接下来就是重点了,首先你需要让你的浏览器能够修改UA,即爬虫经常用到的「User-Agent」。
我用的是Mac+谷歌浏览器,就说说我自己怎么修改的。
Windows的请自行百度~
首先在电脑的文稿中创建一个文件夹。
这个文件夹的路径如下。
并且在根目录的终端运行下面这段代码。
如此我的谷歌浏览器就能成功更换UA啦!
还是直接访问抖音的链接,可以看到结果和最初的不一样。
就在这个模式下查找接口。
发现「?item_ids」开头的这个接口就包含了我们想要的无水印抖音视频。
就是「play_addr」下的列表中的那两个链接。
其中「?item_ids」开头的这个接口有两个参数需要我们在另一个接口中获取。
这样「item_ids」和「dytk」参数值我们也知道了。
不过我们直接用浏览器访问获取到的那两个链接是不会直接出现视频的,需要和上面的一样。
也改变一下UA,这里的链接如果还用「iPhone X」这个UA访问,会失败。
什么原因,小F就不得而知了...
把浏览器UA改为「Responsive」即可访问,链接会重定向。
这样无水印的抖音视频就搞定了。
不过要是每个视频都需要这么下载,就太麻烦了。
所以小F写了用Python就可以下载视频的代码。
无水印视频完美下载。
/ 02 / 接口下载
既然知道了如何用Python下载视频。
那么小F想让大家下载的更方便一点,所以将程序部署到了服务器上。
你只需要通过小F的接口即可下载视频,代码如下。
如果本地安装了Flask以及Requests库,这个程序是可以直接运行。
并且能够下载到你所想要的无水印抖音视频。
部署到服务器上的话,则需要使用443端口。
具体操作可以看之前几篇的推文,这里不细说。
原本是部署在33550端口,但是小程序中的接口使用有要求。
不能使用带有端口号的接口,所以就使用443端口,默认域名访问。
/ 03 / 总结
还是那句话~
少刷抖音,多看书,一点毛病也没有。