如何使用 Python 开发一个【抖音视频下载神器】
国外有个在线网站,专门帮别人下载 YouTube 上面的视频,功能很简单直接,就是把你想要的 youtube 视频地址复制进去,然后点击 start 就可以下载视频:
不过,当你点击下载的时候,会跳转到一个广告页面,可真会玩,这个网站访问量贼大,站长每天不用干啥,坐等别人浏览广告实现躺着赚钱,真是舒服。
吓得小帅b赶紧撸起 Python,开发一个【抖音视频下载神器】来压压惊。
怎么实现的呢?那么,接下来就是:
学习 Python 的正确姿势
先来分析一波,在抖音中找到自己喜欢的视频,把链接复制出来,在浏览器访问:
可以看到它做了个重定向,打开 F12:
访问这个真实地址,再抓下包:
可以看到,这里访问:
iteminfo/?item_ids=xxx
可以得到一个 JSON 对象,往下翻可以看到一个播放地址:
访问一下这个地址:
哟,这视频不就来了嘛~
这视频链接看着有点玩味,把其中的 wm 去掉再访问:
神奇的水印居然消失了:
通过简单的分析,咱们就知道如何获取到原视频地址了。
那么接下来就开始撸代码了。
像这种简单的网页实现,我们可以使用 Flask,首先创建一个 Project,然后创建一个 templates 来存放静态网页。
在里面创建一个 index.html,使用 bootstrap 随便整一个网页结构:
接着我们创建一个 app.py,定义一下路由,当访问首页的时候,我们就把这个页面渲染一波:
运行起来:
看起来还有模有样的。
当用户点击提交的时候,我们让它去调用 download_video 方法:
这样就可以在 app.py 中获取用户传来的地址:
如何通过用户的地址获取到原视频地址呢?
因为用户复制的地址,直接请求的话会有一个重定向,所以首先得拿到重定向后的地址,可以这么做:
这样通过 req.url 就可以得到重定向后的地址:
而这个地址包含了 ID ,理论上只要拿到这个 ID,然后去访问我们刚抓到的 API 地址就可以得到 JSON:
通过正则把地址中的 ID 拿过来:
有了 ID 就可以请求地址,得到 JSON 数据:
这样就可以把原始视频地址解析出来:
得到原始视频地址了还不好说嘛,我们先创建一个目录,用来存放下载的视频:
ok,把视频下载下来,存放到这个目录,然后将路径返回:
这样就可以把得打的路径返回到前端:
在 HTML 中可以做一下判断,如果 video 有值,就显示出来:
运行一下看看,输入地址:
下载后视频来了:
本地打开,可以:
再来个表单校验:
这样有什么消息就可以在前端做一个提醒:
像这样:
OK,以上就是小帅b今天给你带来的思路分享,希望对你有所帮助,以上完整源码可以进入公众号发送 7 获取。
更多好玩:
如果你感兴趣,还可以跟着小帅b一起:通往「Python高手之路」
我们,下回见,peace!