吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5243|回复: 30
收起左侧

[Python 原创] 【原创源码】python下载抖音无水印视频

  [复制链接]
Traitor 发表于 2022-6-25 23:21
本帖最后由 Traitor 于 2022-6-26 02:20 编辑

话不多说直接来上代码。
[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音搜索,直接观看视频!)\n"))
    t = 5
    n = 0
    while n < t:
        n = n + 1
        time.sleep(1)
        print(f"{n}秒后关闭窗口!")
        if n == t:
            break

免费评分

参与人数 3吾爱币 +8 热心值 +2 收起 理由
yxzl + 1 我很赞同!
无聊玩吓 + 1 热心回复!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

dz77977 发表于 2023-7-8 16:48
测试了,没办法下载
 楼主| Traitor 发表于 2022-12-7 23:48
青衫桑 发表于 2022-7-28 23:16
这个能下载1080p的不?目前只在一个在线解析网站能够下载1080p的,其他网站或者源码都是720p的

改一下第38行 ratio=1080p
m350 发表于 2022-6-25 23:26
wfys66 发表于 2022-6-25 23:50
不错不错
挚爱、安安 发表于 2022-6-26 01:07
可以可以
wycdd 发表于 2022-6-26 09:48
这个不错
dzqaww 发表于 2022-6-26 10:12
厉害,拿走试试
江苏男孩 发表于 2022-6-26 10:24
效果不错,感谢分享。
jw581 发表于 2022-6-26 11:57
感谢分享,辛苦了。
sp0770 发表于 2022-6-26 13:21
可惜小白一个,看不懂噢
gxjk5888 发表于 2022-6-26 14:20
我们需要的集成环境不是代码
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-28 05:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表