Python抖音视频去水印,并打包成exe可执行文件

乎语百科 287 0

前言

抖音里面的视频保存之后,会发现全都带有水印,所以如何解决视频去除水印就很有必要,所以教程来了,本次教程不仅会教大家如何去除视频里的水印,并且教大家将程序制作成exe可执行文件,可以发给你的好友使用并进行炫耀一番。

一.问题分析

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

https://v.douyin.com/d8LpxMQ/

在浏览器中打开后,发现链接变成了

https://www.iesdouyin.com/share/video/6999605370222054663/

我们抓下包发现了 item_ids 的接口,后面跟的值就是重定向url的最后这部分(6999605370222054663),我判断这应该是视频的ID了。接口地址如下:

https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6999605370222054663

接下来我们看看这个接口请求返回的数据,当我点开Preview的时候,有视频的文案、作者、音乐、缩略图、地址等等。 我拿出视频的地址后,复制到浏览器打开。视频url如下:

https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0d00fg10000c4hpfk3c77uar6l7cs90&ratio=720p&line=0

打开后发现,视频左上角的水印还是在啊。但是链接中去掉 wm,然后复制到浏览器打开,视频的水印没了。视频无水印的地址如下:

https://aweme.snssdk.com/aweme/v1/play/?video_id=v0d00fg10000c4hpfk3c77uar6l7cs90&ratio=720p&line=0

经过简单的分析,抖音去水印的原理就被搞清楚了,既然原理搞明白了,那写代码就非常简单了。

二.代码编写

1.导包和定义请求头

import requests

headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3904.108 Safari/537.36",
}

2.获取分享链接

def get_share_url(url):
    try:
        r = requests.get(url, headers=headers, allow_redirects=False)
        return r.headers['location']
    except Exception as e:
        print("解析失败")
        print(e)

3.获取视频链接

def get_video_url(url):
    if not url:
        return

    try:
        vid = url.split("/?")[0].split("video/")[1]
        xhr_url = f'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={vid}'

        r = requests.get(xhr_url, headers=headers).json()
        video_url = r['item_list'][0]['video']['play_addr']['url_list'][0]
        return video_url

    except Exception as e:
        print("解析失败")
        print(e)

4.下载视频

def download_video(url, name):
    if not url:
        return

    try:
        r = requests.get(url, headers=headers)
        with open(name + '.mp4', 'wb') as f:
            f.write(r.content)
        print("下载完成")

    except Exception as e:
        print("下载失败")
        print(e)

5.调用

if __name__ == "__main__":
    while 1 < 2:
        # 抖音APP分享的短链接
        url = input("请输入抖音视频链接: ")
        # url = "https://v.douyin.com/R4tKg6C/"
        name = input("请给视频起个名字吧: ")
        share_url = get_share_url(url)
        video_url = get_video_url(share_url)
        download_video(video_url, name)
        print("去除水印完成!")

全部代码

import requests

headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3904.108 Safari/537.36",
}

def get_share_url(url):
    try:
        r = requests.get(url, headers=headers, allow_redirects=False)
        return r.headers['location']
    except Exception as e:
        print("解析失败")
        print(e)

def get_video_url(url):
    if not url:
        return

    try:
        vid = url.split("/?")[0].split("video/")[1]
        xhr_url = f'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={vid}'

        r = requests.get(xhr_url, headers=headers).json()
        video_url = r['item_list'][0]['video']['play_addr']['url_list'][0]
        return video_url

    except Exception as e:
        print("解析失败")
        print(e)

def download_video(url, name):
    if not url:
        return

    try:
        r = requests.get(url, headers=headers)
        with open(name + '.mp4', 'wb') as f:
            f.write(r.content)
        print("下载完成")

    except Exception as e:
        print("下载失败")
        print(e)

if __name__ == "__main__":
    while 1 < 2:
        # 抖音APP分享的短链接
        url = input("请输入抖音视频链接: ")
        # url = "https://v.douyin.com/R4tKg6C/"
        name = input("请给视频起个名字吧: ")
        share_url = get_share_url(url)
        video_url = get_video_url(share_url)
        download_video(video_url, name)
        print("去除水印完成!")

三.使用教程

1.运行程序后输入分享的抖音视频链接; 2.再输入去除水印后的视频的名称; 3.运行程序成功会将视频保存下来;

四.打包成exe可执行文件

4.1 安装pyinstaller,使用安装命令:

pip install pyinstaller

4.2进行打包

pyinstaller -F -w -i 图标名.后缀 源文件.py
# 例子:pyinstaller -F -w -i qt-logo.ico one.py

4.3最终效果

打包完成后会在当前目录下生成dist文件夹,打开后双击exe接可以使用了是不是很简单啊,最后附上效果图

五.总结

到此这篇关于Python抖音视频去水印,并打包成exe可执行文件的详细操作指南的文章就介绍到这了,十分感谢大家的观看,喜欢的可以点个关注哦。

标签: # python

留言评论

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~