Python抖音视频去水印,并打包成exe可执行文件
前言
抖音里面的视频保存之后,会发现全都带有水印,所以如何解决视频去除水印就很有必要,所以教程来了,本次教程不仅会教大家如何去除视频里的水印,并且教大家将程序制作成exe可执行文件,可以发给你的好友使用并进行炫耀一番。
一.问题分析
首先,在抖音APP中分享视频,点击复制链接,即可得到如下所示的分享视频链接。
在浏览器中打开后,发现链接变成了
我们抓下包发现了 item_ids 的接口,后面跟的值就是重定向url的最后这部分(6999605370222054663),我判断这应该是视频的ID了。接口地址如下:
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6999605370222054663
接下来我们看看这个接口请求返回的数据,当我点开Preview的时候,有视频的文案、作者、音乐、缩略图、地址等等。
我拿出视频的地址后,复制到浏览器打开。视频url如下:
打开后发现,视频左上角的水印还是在啊。但是链接中去掉 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可执行文件的更多相关文章
- 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)
解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...
- PyQt(Python+Qt)学习随笔:windows下使用pyinstaller将PyQt文件打包成exe可执行文件
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<windows下使用pyinstaller将多个目录的Pyt ...
- Python打包成exe可执行文件
Python打包成exe可执行文件 安装pyinstaller pyinstaller打包机制 Pyinstaller打包exe 总结命令 可能会碰到的一些常见问题 我们开发的脚本一般都会用到一些第三 ...
- 如何把py文件打包成exe可执行文件
如何把py文件打包成exe可执行文件 1.安装 pip install pyinstaller 或者 pip install -i https://pypi.douban.com/simple pyi ...
- 打包成exe可执行文件的方法
Python安装扩展库与打包成exe可执行文件的方法 1.安装扩展库的几种方法. 首先可能需要使用 pip install --upgrade pip 来升级本机的pip程序.然后在命令提示符环境(即 ...
- pyinstaller将python编写的打卡程序打包成exe
编写了一个简易的定时提醒下班打卡程序,python代码如下: #coding:utf-8 import time import datetime from tkMessageBox import * ...
- windows下如何将Python文件打包成.exe可执行文件
在使用Python做开发的时候,时不时会给自己编写了一些小工具辅助自己的工作,但是由于开发依赖环境问题,多数只能在自己电脑上运行,拿到其它电脑后就没法运行了.这显得很不方便,不符合我们的初衷,那么有没 ...
- windows下使用pyinstaller将多个目录的Python文件打包成exe可执行文件
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 需要将一个工程涉及两个目录的模块文件打包成exe,打包环境如 ...
- Java桌面程序打包成exe可执行文件
前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...
随机推荐
- Node.js精进(11)——Socket.IO
Socket.IO 是一个建立在 WebSocket 协议之上的库,可以在客户端和服务器之间实现低延迟.双向和基于事件的通信. 并且提供额外的保证,例如回退到 HTTP 长轮询.自动重连.数据包缓冲. ...
- 基于Caffe ResNet-50网络实现图片分类(仅推理)的实验复现
摘要:本实验主要是以基于Caffe ResNet-50网络实现图片分类(仅推理)为例,学习如何在已经具备预训练模型的情况下,将该模型部署到昇腾AI处理器上进行推理. 本文分享自华为云社区<[CA ...
- 20220727-Java中多态总结
目录 方法的多态 对象的多态 多态的注意事项和细节 向下转型 Java动态绑定机制 多态polymorphism:方法或者对象具有多种形态 方法的多态 方法的重载可以体现多态 代码示例 // 通过方法 ...
- ubu18时间设置
ubu18 日期设置 1.date date 命令修改系统时间,重启失效,需要写入硬件Bios #查看日期 date #修改日期 date -s "2022-01-14 09:32:00&q ...
- 使用Typora+EasyBlogImageForTypora写博客,无图床快速上传图片
如今,使用markdown攥写博客已成为主流,而Typora作为markdown的主流工具,广受大众好评,本文讲述从Typora的安装到快速将Typora写好的博文上传到博客园 Typora下载 Ty ...
- SpringMvc 如何同时支持 Jsp 和 Json 接口?
后端同学基本都会见过这种场景:在同一个工程中,有些页面使用jsp模版渲染,同时还有其他接口提供Json格式的返回值.为了同时支持这两种场景,我们一般是如何处理的呢? 其实非常简单: 1.在项目中为 S ...
- flask-restful使用指南
flask-restful是flask模块的一个扩展,能够快速构建restful风格的api.对于其他的扩展也有很高的兼容性. 安装flask_restful pip install flask_re ...
- Sum (欧拉定理)
题面 提示:无限输入 题解 一看这题的数据 ............................... 这也太大了,必须边输入边取模才行, 但是式子很复杂,所以必须推出一些结论. 因为Xk是有顺序 ...
- CCF NOI Online 2021 提高组 T3 岛屿探险(CDQ 分治,Trie 树)
题面 凇睦是一个喜欢探险的女孩子,这天她到一片海域上来探险了. 在这片海域上一共有 n 座岛屿排成一排,标号为 1, 2, 3, . . . , n.每座岛屿有两个权值,分别为劳累度 ai 和有趣度 ...
- 第一百篇:JS异步
好家伙,打工人要打工,博客会更新的没有以前频繁了 芜湖,一百篇了,这篇写一个比较难的异步(其实并不难理解,主要是为promise铺垫) 老样子,先补点基础: 1.进程 来吧,新华字典 大 ...