快捷搜索:  聪少  引流   微商

抖音无水印解析全过程及开源源码

本帖最后由 DLWangSan 于 2020-3-20 20:13 编辑

2020-3-20 更新帖子:修复加载失败的图片

在网上看过一些论坛帖,有一些解析抖音无水印视频的教程。说是教程,其实大部分都是提供接口,或引流或卖接口。我想看看究竟是怎么实现的去水印。立帖记录全过程。

从抖音短视频中分享一段视频。可以得到:

#在抖音,记录美好生活#再见,武汉!战“疫”英雄要回家了。一路平安~/d/file/20210710/404 (210.07 KB, 下载次数: 3)

下载附件

浏览器打开初试链接

2020-3-20 20:08 上传

可以看到在video标签中存在一个链接。

复制该链接在浏览器打开:

直接打开src链接.png (360.25 KB, 下载次数: 3)

下载附件

直接打开src链接

2020-3-20 20:09 上传

发现仍然是带水印的视频,而且页面重定向成了新地址:

分析之前的地址:

包含playwm 后面的wm是什么意思?将playwm改成play,并将请求的User-Agent修改为手机。便得到了无水印版本的视频。手动操作部分结束!

无水印视频.png (265.59 KB, 下载次数: 3)

下载附件

无水印视频

2020-3-20 20:10 上传

先测试一下下载流媒体。

调用之后可以正常下载视频。所以可以放心写爬虫获取到这个真实地址了。剩下的按照第一步的手动操作即可。

遇到了一个大问题,即在初始页面上没有视频地址,必须点击一下按钮,才会跳出。故直接用XPATH会找不到要的链接。怎么办呢?首先想到模拟点击,但是这样我就需要使用selenium(或许有更好的办法我想不到),这样就会让程序庞大不少。非我所愿。

仔细观察页面,发现页面下方的js有这样一段:

这不就把地址封面直接给我了吗。实在有种“得来全不费功夫”的感觉!

写一个函数来解析js:

给文件命名:

随便测试一个,已经可以下载到根目录了。为了工整,还是创建一个文件夹用于保存吧~

调用download的时,加一个路径的参数即可。测试成功!

下载成功图.png (17.39 KB, 下载次数: 3)

下载附件

下载成功图

2020-3-20 20:10 上传

无水印.png (520.92 KB, 下载次数: 2)

下载附件

无水印

2020-3-20 20:11 上传

测试确实把水印去了,至此,核心功能已经全部实现,编写总代码~~~

从来没有用过python的用户界面,但是这次想发到论坛,所以还是简单做一个用户界面方便使用吧。

口碑比较好的似乎是PyQt,试一下吧~

工具还是比较好的,但是我第一次用,所以界面比较丑,也存在一些小bug,比如说错误的链接会闪退~下个版本再更新吧

打包后效果.png (10.78 KB, 下载次数: 6)

下载附件

打包后效果

2020-3-20 20:11 上传

最终代码已经上传到github上,看到的帮我点个star吧~

源码及成果

相关文章