前言

抖音里面的视频保存之后,会发现全都带有水印,所以如何解决视频去除水印就很有必要,所以教程来了,本次教程不仅会教大家如何去除视频里的水印,并且教大家将程序制作成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抖音视频去水印,并打包成exe可执行文件的更多相关文章

  1. 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)

    解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...

  2. PyQt(Python+Qt)学习随笔:windows下使用pyinstaller将PyQt文件打包成exe可执行文件

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<windows下使用pyinstaller将多个目录的Pyt ...

  3. Python打包成exe可执行文件

    Python打包成exe可执行文件 安装pyinstaller pyinstaller打包机制 Pyinstaller打包exe 总结命令 可能会碰到的一些常见问题 我们开发的脚本一般都会用到一些第三 ...

  4. 如何把py文件打包成exe可执行文件

    如何把py文件打包成exe可执行文件 1.安装 pip install pyinstaller 或者 pip install -i https://pypi.douban.com/simple pyi ...

  5. 打包成exe可执行文件的方法

    Python安装扩展库与打包成exe可执行文件的方法 1.安装扩展库的几种方法. 首先可能需要使用 pip install --upgrade pip 来升级本机的pip程序.然后在命令提示符环境(即 ...

  6. pyinstaller将python编写的打卡程序打包成exe

    编写了一个简易的定时提醒下班打卡程序,python代码如下: #coding:utf-8 import time import datetime from tkMessageBox import * ...

  7. windows下如何将Python文件打包成.exe可执行文件

    在使用Python做开发的时候,时不时会给自己编写了一些小工具辅助自己的工作,但是由于开发依赖环境问题,多数只能在自己电脑上运行,拿到其它电脑后就没法运行了.这显得很不方便,不符合我们的初衷,那么有没 ...

  8. windows下使用pyinstaller将多个目录的Python文件打包成exe可执行文件

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 需要将一个工程涉及两个目录的模块文件打包成exe,打包环境如 ...

  9. Java桌面程序打包成exe可执行文件

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

随机推荐

  1. 特殊的阻塞队列 - java.util.concurrent.SynchronousQueue 分析

    描述 SynchrounousQueue 是一个比较特殊的无界阻塞队列并支持非公平和公平模式,严格意义上来说不算一个队列,因为它不像其他阻塞队列一样能有容量,它仅有一个指向栈顶的地址,栈中的节点由线程 ...

  2. Mqtt开发笔记:windows下C++ ActiveMQ客户端介绍、编译和使用

    前话   项目需求,需要使用到mqtt协议,之前编译QtMqtt库,不支持队列模式queue(点对点),只支持订阅/发布者模式.,所以使用C++ ActiveMQ实现.   MQTT协议 简介   M ...

  3. odoo 14 python 单元测试步骤

    # odoo 14 python 单元测试步骤 # 一.在模块根目录创建tests目录 # 二.在tests目录下创建__init__.py文件 # 三.继承TransactionCase(Singl ...

  4. java日常开发必备:list的四种遍历

      在平时的开发过程中使用List的场景很多,你知道List的遍历有多少种方式?今天一起来梳理下List的几种遍历方式.这里以java.util.ArrayList为例来演示.   这里有一个最简单的 ...

  5. WorkflowAsCode 来了,Apache DolphinScheduler 2.0.2 惊喜发布

    文章目录 前言 01 新功能 1 WorkflowAsCode 2 企业微信告警方式支持群聊消息推送 02 优化 1 简化元数据初始化流程 2 删除补数日期中的"+1"(天) 03 ...

  6. Luogu P5030 长脖子鹿放置(网络流)

    匈牙利T了,Dinic飞了... 按奇偶连 #include <cstdio> #include <iostream> #include <cstring> #in ...

  7. 新一代分布式实时流处理引擎Flink入门实战之先导理论篇-上

    @ 目录 概述 定义 为什么使用Flink 应用行业和场景 应用行业 应用场景 实时数仓演变 Flink VS Spark 架构 系统架构 术语 无界和有界数据 流式分析基础 分层API 运行模式 作 ...

  8. CSS 选择器(二):子代选择器(>)

    后代选择器 后代选择器选择的范围广,范围是当前节点的所有子节点,包括其直接子节点. <div id="app"> <div>items-1 <div& ...

  9. 定语从句关系代词只能用 that 的情况

    当先行词被形容词最高级.序数词,以及 the only.the very.the right 等修饰时,关系代词只能用 that. This is the most interesting movie ...

  10. [网鼎杯2018]Unfinish-1|SQL注入|二次注入

    1.进入题目之后只有一个登录界面,检查源代码信息并没有发现有用的信息,尝试万能密码登录也不行,结果如下: 2.进行目录扫描,发现了注册界面:register.php,结果如下: 3.那就访问注册界面, ...