1. 成果展示
2. 软件下载
win32
、mac
和linux
用户请自行通过源码打包。
3. 完整代码
import re, json, requests
from tqdm import tqdm # 打印进度条的库
inp = input('请输入复制的抖音分享链接:') # 如:https://v.douyin.com/JVFp8r5/
url = re.findall('https://v.douyin.com/.*?/', inp)[0] # 链接解析
res = requests.get(url)
vid = re.findall('/video/(.*?)/', res.url)[0] # vid解析,vid就是视频id,是我自己定义的
api = f'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={vid}' # 调用api
res = requests.get(api).json()
url = res['item_list'][0]['video']['play_addr']['url_list'][0] # 视频下载链接解析
url = url.replace('/playwm/', '/play/') # 去水印
res = requests.get(url, headers={'user-agent': 'chrome'})
total_size = round(int(res.headers["Content-Length"])/1024/1024)
with open(f'{vid}.mp4', 'wb') as f:
for chunk in tqdm(iterable=res.iter_content(1024*1024), total=total_size, unit='KB'):
f.write(chunk)
4. 样例输入
抖音短视频分享链接:https://v.douyin.com/JV2WKMu/
1、点击分享
2、点击复制链接
3、将复制的文本作为程序的输入
这小狐狸有点东西 #白蛇缘起 #送你一张动态壁纸! https://v.douyin.com/JVjfqWe/ 复制此链接,打开抖音搜索,直接观看视频!
你可以将复制的链接作为程序的输入,也可以将整个文本作为程序的输入,因为第4行代码会对输入进行解析:
url = re.findall('https://v.douyin.com/.*?/', inp)[0] # 链接解析
5. 样例输出
6867535672463478024.mp4:https://ghgxj.lanzous.com/i8VNsjb6qli
1、可以看到已经没有水印了:
2、而带水印的视频是这样的:
6. 爬虫分析
拿到抖音短视频分享链接后,在电脑浏览器中打开:
发现链接重定向为:
https://www.iesdouyin.com/share/video/6867535672463478024/?region=CN&mid=6867536423961660174&u_code=191kjhch0&titleType=title&did=3764338486433038&iid=4133808108734896&utm_source=copy_link&utm_campaign=client_share&utm_medium=android&app=aweme
将重定向链接中/video/
后面的一串数字定义为vid
:
vid = 6867535672463478024
F12检查重定向后的页面,Network-XHR
中发现一条网络请求:
请求的api
为:
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6867535672463478024
响应信息为:
响应信息中找到视频下载链接:
https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0200f7e0000bt76630o772qo1t21960&ratio=720p&line=0
在浏览器中打开该下载链接会自动下载视频,但却是有水印的。水印的英文单词是watermark
,缩写是wm
,而视频下载链接中有playwm
,我想如果将playwm
改为play
是不是就没有水印了,实验后发现果真是这样。
总结一下:
- 对视频链接发起请求
- 从重定向链接中获取
vid
- 拿
vid
请求api
接口 - 从响应中解析无水印下载链接
7. 打包教程
【python】将代码打包为软件:https://blog.csdn.net/qq_42951560/article/details/111086049
8. 温馨提示
水印本质上是对版权的一种保护,本文提供的方法仅供学习交流,请勿非法商用,如果你想转载抖音视频,请征求原作者的同意,并注明出处,拒绝营销。
9. 相关推荐
王者荣耀全英雄高清壁纸下载器:https://blog.csdn.net/qq_42951560/article/details/110914184