告别复杂下载!用you-get 10行代码打造专属资源获取工具
你是否遇到过想保存网上视频却找不到下载按钮的尴尬?想批量下载图片却只能一张张右键另存为?作为普通用户,面对这些场景往往束手无策。而开发者们虽然可以编写爬虫,但又要处理各种网站反爬机制、视频加密算法,耗时费力。今天我要介绍的开源神器you-get,不仅能让小白用户两行命令下载全网资源,更能让开发者通过简单扩展,10行代码就能打造专属下载器。
为什么选择you-get?
you-get是一款轻量级命令行工具,能够从网页中提取并下载视频、音频、图片等媒体内容。它支持国内外主流视频网站,如YouTube、B站、抖音、优酷等,完整列表可查看src/you_get/extractors目录下的文件。
核心优势
- 简单易用:无需编程知识,一行命令即可下载资源
- 功能强大:支持视频、音频、图片等多种资源类型
- 高度可扩展:模块化设计,便于添加新网站支持
- 跨平台:兼容Windows、macOS和Linux系统
快速开始:两行命令下载全网资源
安装you-get
pip install you-get
下载示例
以YouTube视频为例,只需执行:
you-get 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
you-get会自动分析页面,显示可用的视频质量和格式:
site: YouTube
title: Me at the zoo
stream:
- itag: 43
container: webm
quality: medium
size: 0.5 MiB (564215 bytes)
# download-with: you-get --itag=43 [URL]
Downloading Me at the zoo.webm ...
100% ( 0.5/ 0.5MB) ├██████████████████████████████████┤[1/1] 6 MB/s
Saving Me at the zoo.en.srt ... Done.
更多使用方法可参考README.md。
进阶开发:10行代码打造专属下载器
you-get的强大之处不仅在于其现成的功能,更在于其高度可扩展的架构。下面我们以添加一个简单网站的支持为例,展示如何通过10行代码开发自己的下载器。
开发步骤
-
创建提取器文件:在src/you_get/extractors目录下创建新的Python文件,例如
example.py -
实现下载函数:定义一个下载函数,遵循you-get的命名规范
{site_name}_download
from you_get.extractor import VideoExtractor
from you_get.common import url_info, print_info, download_urls
def example_download(url, output_dir='.', merge=True, info_only=False, **kwargs):
# 解析网页,获取视频信息
title = "example_video" # 实际应用中应从网页提取标题
stream_url = "https://example.com/video.mp4" # 实际应用中应从网页提取真实视频URL
ext = "mp4"
size = url_info(stream_url)['size']
# 打印视频信息
print_info(site_info="Example", title=title, type="video", size=size)
# 如果只是查看信息,不下载
if not info_only:
download_urls([stream_url], title, ext, size, output_dir, merge=merge, **kwargs)
- 注册提取器:在文件末尾添加注册代码,将提取器与网站URL模式关联
from you_get.extractors import register
register('example.com', example_download)
关键函数解析
url_info(url):获取URL对应的文件大小等信息,定义在src/you_get/common.pyprint_info():打印资源信息,定义在src/you_get/common.pydownload_urls():下载URL列表,定义在src/you_get/common.py
复杂网站支持
对于需要处理视频分段、加密等复杂情况的网站,可以继承VideoExtractor类,实现更高级的功能。例如B站下载器src/you_get/extractors/bilibili.py就实现了完整的视频解析、质量选择等功能。
高级功能
自定义输出目录和文件名
you-get -o ~/Videos -O my_video.mp4 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
选择视频质量
you-get --itag=18 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
直接播放视频(不下载)
you-get -p vlc 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
插件系统
you-get还支持通过插件扩展功能,例如:
- 完成脚本:contrib/completion目录下提供了Bash、Fish和Zsh的自动补全脚本
- 播放器集成:src/you_get/cli_wrapper/player目录下提供了多种播放器的集成代码
总结
you-get不仅是一款功能强大的资源下载工具,更是一个灵活的媒体提取框架。无论是普通用户快速下载网上资源,还是开发者扩展支持新的网站,you-get都能满足需求。其简洁的API设计和模块化架构,使得扩展和定制变得异常简单,真正实现了"10行代码打造专属下载器"的目标。
如果你觉得这个工具对你有帮助,欢迎贡献代码或提出改进建议,一起完善这个强大的开源项目。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00