使用python下载抖音无水印视频

直接复制以下代码即可
import requests
import os
import re
import time
 
headers = {
    "User-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36"
}
api = "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids="
 
 
# 创建目录
def createFolder(dirname):
    if os.path.exists(dirname):
        pass
    else:
        os.mkdir(dirname)
 
 
#
def get_url(content):
    url = re.search(r"[a-zA-z]+://[^\s]*", content).group(0)
    requestsApi(url)
 
 
# 获取真实地址 匹配aweme_id
def handleUrl(url):
    response = requests.get(url).url
    aweme_id = re.match(r".*video/(\d+)", response).group(1)
    return aweme_id
 
 
# 解析视频
def requestsApi(url):
    result = requests.get(api + handleUrl(url), headers=headers).json()
    vid = result["item_list"][0]["video"]["play_addr"]["uri"]
    video_name = result["item_list"][0]["desc"]
    video_api = "https://aweme.snssdk.com/aweme/v1/play/?video_id=" + vid + "&ratio=720p&line=0"
    start = time.time()
    video = requests.get(video_api, headers=headers, stream=True)
    size = 0  # 初始化已下载大小
    chunk_size = 1024  # 每次下载的数据大小
    content_size = int(video.headers['content-length'])
    try:
        if video.status_code == 200:
            print('开始下载,[视频大小]:{size:.2f} MB'.format(size=content_size / chunk_size / 1024))  # 开始下载,显示下载文件大小
            filename = os.path.join(folder_name, f"{video_name}" + ".mp4")
            with open(filename, "wb") as f:
                for data in video.iter_content(chunk_size=chunk_size):
                    f.write(data)
                    size += len(data)
                    print('\r' + '[下载进度] %s %.2f%%' % (
                        '▊' * int(size * 50 / content_size), float(size / content_size * 100)), end=' ')
        end = time.time()
        print('视频下载完成!, 完成时间: %.2f秒' % (end - start))  # 输出下载用时时间
    except Exception as ex:
        print("err: ", ex)
 
 
if __name__ == '__main__':
    folder_name = "video"
    createFolder(folder_name)
    get_url(input(
        "请输入抖音的分享链接!比如 (5.30 AtR:/ %%月光骑士  帅是很帅,就是有点废厕纸。  https://v.douyin.com/YxEqmuF/ 复制此链接,打开Dou音搜索,直接观看视频!)
"))
    t = 5
    n = 0
    while n < t:
        n = n + 1
        time.sleep(1)
        print(f"{n}秒后关闭窗口!")
        if n == t:
            break
使用python下载抖音无水印视频

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章