抖音视频解析工具V1.0版本插件源码

🚀 脚本名称:抖音视频解析工具V1.0版本
💻 语言:Python 3.1+
————————————
📝 功能介绍
————————————
抖音视频解析,可下载无水印视频、封面、音乐
————————————

————————————
⚠️ 免责声明
————————————
1.本公众号分享的源码及程序仅供学习交流与技术研究之用,严禁用于任何商业或非法用途。
2.本脚本按“现状”提供,不提供任何形式的明示或暗示担保。运行环境差异可能导致意外结果,请在测试环境中先行验证。
3.若使用者因参考或运行本文代码造成数据丢失、系统故障或其他损失,本人及本公众号不承担任何法律责任。
4.如涉及第三方API或网站,请遵守其对应平台的 robots.txt协议及相关服务条款。
账号安全:请勿将包含个人Token、Cookie或密码的代码直接上传至公开仓库,由此导致的账号被盗责任自负。
禁止滥用:严禁利用本脚本进行网络攻击、数据窃取或任何违反《网络安全法》的行为。
风险自担:一旦运行本程序,即视为您已了解并同意自行承担所有风险。作者不对任何直接或间接损害负责。
————————————
📸 效果预览
————————————

————————————
📄 核心源码
————————————
import timeimport secretsimport hmacimport hashlibimport requestsfrom urllib.parse import urlencodeimport tkinter as tkimport sys# 原API配置API_BASE = "https://api.dog886.com"SECRET_KEY = "your-secret-key-here" # 请替换为实际密钥def fetch_douyin_video(url: str, extra: dict = None):"""请求 dog886 接口,返回解析后的视频信息"""if not url or not isinstance(url, str):raise ValueError("URL 参数无效")extra = extra or {}timestamp = int(time.time())nonce = ''.join(secrets.choice("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")for _ in range(16))sign_str = f"{url}{timestamp}{nonce}"signature = hmac.new(SECRET_KEY.encode(),sign_str.encode(),hashlib.sha256).hexdigest()params = {"url": url,"timestamp": timestamp,"nonce": nonce,"signature": signature}for k in ("id", "vid", "data"):if k in extra:params[k] = extra[k]full_url = f"{API_BASE}/video.php?{urlencode(params)}"headers = {"Accept": "application/json","Content-Type": "application/json"}try:resp = requests.get(full_url, headers=headers, timeout=10)resp.raise_for_status()return resp.json()except requests.exceptions.RequestException as e:return {"code": 500, "message": f"请求失败: {str(e)}"}def format_video_info(result: dict, terminal):"""格式化并打印解析结果到终端"""if result.get("code") != 200:terminal._print_system_message(f"❌ 解析失败:{result.get('message', '未知错误')}", "red")returndata = result.get("data", {})info = {"author": data.get("author", "未知"),"title": data.get("title", "无标题"),"like": data.get("like", "0"),"video_url": data.get("url", ""),"cover_url": data.get("cover", ""),"music_url": data.get("music", {}).get("url", "")}terminal._print_system_message("\n✅ 解析成功!结果如下:", "green")print("\n✅ 解析成功!结果如下:")time.sleep(0.4)terminal._print_system_message(f"👤 作者:{info['author']}", "cyan")print(f"👤 作者:{info['author']}")time.sleep(0.4)terminal._print_system_message(f"📝 标题:{info['title']}", "white")print(f"📝 标题:{info['title']}")time.sleep(0.4)terminal._print_system_message(f"👍 点赞:{info['like']}", "yellow")print(f"👍 点赞:{info['like']}")time.sleep(0.4)terminal._print_system_message(f"🎥 视频直链:{info['video_url']}", "blue")print(f"🎥 视频直链:{info['video_url']}")time.sleep(0.4)terminal._print_system_message(f"🖼️ 封面图:{info['cover_url']}", "blue")print(f"🖼️ 封面图:{info['cover_url']}")time.sleep(0.4)terminal._print_system_message(f"🎵 音乐链接:{info['music_url']}", "blue")print(f"🎵 音乐链接:{info['music_url']}")def douyin_command(terminal, *args):"""抖音视频解析命令用法: douyin <抖音链接>"""if len(args) == 0:terminal._print_system_message("❌ 请提供抖音链接", "red")terminal._print_system_message("用法: douyin <抖音链接>", "yellow")terminal._print_system_message("示例: douyin https://v.douyin.com/EzisbXWdQLk/", "gray")returnurl = args[0]# 验证是否为抖音链接if "douyin.com" not in url and "iesdouyin.com" not in url:terminal._print_system_message("⚠️ 警告:可能不是有效的抖音链接", "yellow")terminal._print_system_message(f"🔍 正在解析: {url}", "cyan")print(f"🔍 正在解析: {url}")time.sleep(0.4)try:result = fetch_douyin_video(url)format_video_info(result, terminal)except Exception as e:terminal._print_system_message(f"❌ 解析出错: {str(e)}", "red")def register_commands():"""必须实现的函数返回一个字典,键为命令名,值为命令函数"""return {"douyin": douyin_command,}
本源码已开源,可随意修改使用
夜雨聆风