前言
抖音里面的视频保存之后,会发现全都带有水?。匀绾谓饩鍪悠等コ【秃苡斜匾?所以教程来了,本次教程不仅会教大家如何去除视频里的水印,并且教大家将程序制作成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 requestsheaders = {"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:returntry: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_urlexcept Exception as e:print("解析失败")print(e)
4.下载视频
def download_video(url, name):if not url:returntry: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 requestsheaders = {"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:returntry: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_urlexcept Exception as e:print("解析失败")print(e)def download_video(url, name):if not url:returntry: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进行打包
推荐阅读
- 静态属性的陷阱 python中类与对象的命名空间、__dict__ 和 dir 在继承中使用说明
- 学习记录-Python的局部变量和全局变量
- 【疫情动态条形图】用Python开发全球疫情排名动态条形图bar_chart_race
- Python 实现Tracert追踪TTL值
- python合并多个excel
- Python实现改进后的Bi-RRT算法实例
- NIKKE胜利女神抖动怎么开启
- 1 python-数据描述与分析
- Python中list列表的常见操作
- aardio + Python 可视化快速开发桌面程序,一键生成独立 EXE