订购热线0898-08980898

新闻资讯

当前位置: 首页 > 新闻资讯

python实现抖音无水印下载,从手动到脚本实现 2020

发布时间:2024-07-01 15:19:41点击量:

工具下载链接:https://www.lanzous.com/ia4vgfg
视频创作不易,希望各位小伙伴尊重他人的作品哦
————————————————————————————————————————

之前总是看到ios的快捷指令中有抖音短视频无水印下载,但是我每一次试用都没有成功,还以为是提取视频的方式容易失效,其实并不是并且实现起来特别简单。

这段时间在学习python网络爬虫,因为最近的疫情,在看了各种各样的消息之后,每天晚上不想睡觉,也没有妹子聊天,就每天晚上刷抖音,刷到可爱的妹子就保存下来,慢慢地有了一些想法,想要下载一些视频剪辑,水印多少有一些影响观感(当然也要尊重原作者,我也会在视频的最后加上妹子们的ID),然后上网查了资料,发现实现无水印下载很简单,便开始着手了。

1.打开链接观察

打开链接时的截图,有水印
这个url没有什么特别之处,接下来我们看看这个视频的地址。

2.查看视频地址

打开浏览器的审查元素(F12),用选择工具(快捷键ctrl+shift+c)选中播放器之后可以看得到有一个链接。视频链接出现了!!
https://aweme.snssdk.com/aweme/v1/playwm/?s_vid=93f1b41336a8b7a442dbf1c29c6bbc56574d7b82246202e7c23fe2d127baa6221fdca81fd932cfd300d95351ba6c48801d09bcb4961f63c9e48237e7f6a0f4b1&
观察链接,前面是一级一级的目录,后面有一个get请求,参数名是s_vid,这会不会就是视频的id了?可是我们拿到视频id也没用啊,这时候开发经验丰富的老师傅发现了,最后一级目录的名字叫playwm,wm会不会是watermark(水印)的缩写呢,我们尝试将wm删除,访问一次我们构造的url
https://aweme.snssdk.com/aweme/v1/play/?s_vid=93f1b41336a8b7a442dbf1c29c6bbc56574d7b82246202e7c23fe2d127baa6221fdca81fd932cfd300d95351ba6c48801d09bcb4961f63c9e48237e7f6a0f4b1&
访问发现是一片空白,不过页面没有报错,说明play这个目录是存在的无水印的页面
这个时候就有点难受了,不知道接下来还能搞些设么操作。不过,想一想我们在手机上看抖音时看到的视频都是无水印的,可以尝试用fiddler抓包,看看手机是怎么请求的(我比较懒,接下来直接说结果),手机请求与我们电脑请求的不同在于user-agent(用户代理,用来识别你是什么浏览器),那么接下来我们尝试用手机的UA来访问下我们构造的链接。

3.成功看到无水印视频

更改UA我们可以用fiddler、burpsuite等抓包工具,也可以用hackbar之类的小插件,之前我自己尝试的时候用的是fiddler,但是这里演示起来会比较麻烦,所以直接用一个比较方便地方法,我们去百度找到一些手机的UA,随便复制一个到UA的框里,把我们构造的网址放在url框里,然后点击excute执行,就得到了无水印视频,在这个页面单击鼠标右键就可以保存视频到本地了(到这里就实现了手动实现无水印下载抖音视频了!)。
无水印的视频出现了!!

4.代码实现

接下来用比较简单的代码写一下,整体思路也简单,就是像前面说的那样,从最开始的链接里提取到视频id,构造成无水印的视频地址,再用移动端的UA去访问。代码注释比较多,看代码就够了。

 

5.图形界面

(1)PyQt5

为了方便分享给别人使用,最后我想做一款有图形界面的小工具,最开始因为听说PyQt5很强大,于是用PyQt5做了图形界面,那是我最崩溃的一下午。因为用了PyQt5,最后打包出来的exe文件三十多兆,查了一下午资料都没能把它弄小。不过功能和界面都比后面的tkinter要优秀,代码比较长,就不贴出来了。
PyQt5

(2)Tkinter

Tkinter是python自带的gui,使用时也不用想PyQt5那样麻烦,要安什么sip、PyQt5、PyQt5-tools这些包,最后Tkinter打包出来的exe也要小一些,不过还是有8m。代码不是太想贴出来。。。看看截图吧。
Tkinter

关于学习图形界面

关于学习图形界面,我有一点点建议,沉下来认真学好一个图形界面,其他的都是类似,就像编程语言一样。之后再用到什么界面再学就是,不过上手肯定会很快的,这次的PyQt5和Tkinter都是我第一次接触,但是从不了解到上手半天时间都没花到,因为之前我有学过Java的Swing包。

这是我的第一篇博客,是在做了一个实际的小项目之后做一个整体的回顾和整理,同时也是与大家分享,如果大家觉得我写得不错就给我点个小小的赞吧,如果有什么疑问或是需要源代码不妨通过评论告诉我,谢谢大家!

联系我们

手机:13988888888
电话:0898-08980898
邮箱:admin@youweb.com
地址:海南省海口市
地址:海南省海口市 手机:13988888888 电话:0898-08980898
Copyright © 2012-2018 雷神娱乐中医药材发展站 版权所有 非商用版本 ICP备案编号:粤ICP备88888888号
网站首页 | 关于雷神娱乐 | 雷神注册 | 新闻资讯 | 雷神登录 | 雷神开户 | APP下载 | 代理加盟 | 联系我们 |

平台注册入口