级别: 八级会员
UID: 1018998
精华: 0
发帖: 2565
威望: 1000 点
金钱: 165289 RMB
贡献值: 285 点
注册时间: 2019-10-02
最后登录: 2024-05-23
0楼  发表于: 2020-12-17 23:29

技术分享,15行代码下载某音无水印短视频

技术分享,15行代码下载某音无水印短视频[5P]
一、成果展示

二、傻瓜式软件下载win64:https://wws.lanzous.com/iiHkWjfuvsdPS:因为楼主用的是win64位系统,所以只有win64的,win32、mac和linux聚聚请自行通过源码打包三、完整代码
複製代碼
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)四、操作步骤教学1、找到想要下载的视频,点击分享按钮

2、点击复制链接

3、将复制的文本作为程序的输入本文以
引用
这小狐狸有点东西 #白蛇缘起  #送你一张动态壁纸!  https://v.douyin.com/JVjfqWe/ 复制此链接,打开抖音搜索,直接观看视频!为例你可以将复制的链接作为程序的输入,也可以将整个文本作为程序的输入,因为第4行代码会对输入进行解析:
複製代碼
url = re.findall('https://v.douyin.com/.*?/', inp)[0]  # 链接解析4、点击输出可以看到已经没有水印了:

而带水印的视频是这样的:


03040813
级别: 七级会员
UID: 1444187
精华: 0
发帖: 3931
威望: 9 点
金钱: 51268 RMB
贡献值: 132 点
注册时间: 2021-08-04
最后登录: 2024-11-30
1楼  发表于: 2021-08-06 14:50

高手,66666
级别: 六级会员
UID: 1433452
精华: 0
发帖: 2908
威望: 1 点
金钱: 21046 RMB
贡献值: 229 点
注册时间: 2021-07-16
最后登录: 2024-11-24
2楼  发表于: 2021-08-08 17:31

这是一组动画片么
级别: 六级会员
UID: 1433452
精华: 0
发帖: 2908
威望: 1 点
金钱: 21046 RMB
贡献值: 229 点
注册时间: 2021-07-16
最后登录: 2024-11-24
3楼  发表于: 2021-08-13 11:14

这是标准的技术流啊
一柱青峰
级别: 四级会员
UID: 1427934
精华: 0
发帖: 678
威望: 1 点
金钱: 7081 RMB
贡献值: 74 点
注册时间: 2021-07-07
最后登录: 2024-11-29
4楼  发表于: 2023-11-22 14:43

6666