官方文档传送门:https://github.com/soimort/you-get/wiki/中文说明
you-get 大法之功用:
- 下载流行网站之音视频,例如 YouTube、Youku、TED、土豆以及更多
- 于您心仪的媒体播放器中观看在线视频,脱离浏览器与广告
- 下载您喜欢的网页上的图片
- 下载任何非 HTML 内容,例如二进制文件
安装:
1、you-get 的官方版本通过 PyPI 分发, 可从 PyPI 镜像中通过 pip 包管理器进行安装:
pip install you-get -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
2、安装上 FFmpeg,下载地址:https://www.gyan.dev/ffmpeg/builds/,找到文件最大的那个下载就对了。
解压文件,进入bin目录,能看到ffmpeg.exe、ffplay.exe、ffprobe.exe三个文件。然后把该路径添加到环境变量path。
打开cmd输入 ffmpeg –version 如果显示版本号,证明安装成功了。
实战:
下面我们进入实战,我们以B站为例:
当观赏感兴趣的视频时,您可以使用 —info/-i 以查看所有可用画质与格式:
you-get -i https://www.bilibili.com/video/BV1Kh411X7n8?t=28
稍等片刻,我们会看到相关信息:
- 标有 DEFAULT 为默认画质,如果希望保存为其他格式(mp4),可以使用 -i 查看所有可用画质与格式给出的其他选项进行下载。
- 使用其他选项进行下载:download-with(之后的):you-get —format=。。。URL
- 使用 —output-dir/-o 设定路径,—output-filename/-O 设定输出文件名
- 下载过程中可以使用 Ctrl+C 暂停下载
比如我们要下载第一个格式为 flv,并且输出到D盘的test路径下,我们改如何写呢?
you-get -o D:\test --format=flv https://www.bilibili.com/video/BV1Kh411X7n8
如果想下载列表,在地址前面加 —playlist :
you-get -o D:\test --format=flv --playlist https://www.bilibili.com/video/BV1RE411C7t5
不过下载速度一直空六七百K左右,不会太快。
在 Python 中使用:
import sys
from you_get import common as you_get # 导入you-get库
# 设置下载目录
directory = r'D:\test'
# 要下载的视频地址
url = 'https://www.bilibili.com/video/BV1me411W7J5'
# 传参数
sys.argv = ['you-get', '-o', directory, '--format=flv', url]
you_get.main()
参数:
usage: you-get [OPTION]... URL...
A tiny downloader that scrapes the web
optional arguments:
-V, --version Print version and exit
-h, --help Print this help message and exit
Dry-run options:
(no actual downloading)
-i, --info Print extracted information
-u, --url Print extracted information with URLs
--json Print extracted URLs in JSON format
Download options:
-n, --no-merge Do not merge video parts
--no-caption Do not download captions (subtitles, lyrics, danmaku,
...)
-f, --force Force overwriting existing files
--skip-existing-file-size-check
Skip existing file without checking file size
-F STREAM_ID, --format STREAM_ID
Set video format to STREAM_ID
-O FILE, --output-filename FILE
Set output filename
-o DIR, --output-dir DIR
Set output directory
-p PLAYER, --player PLAYER
Stream extracted URL to a PLAYER
-c COOKIES_FILE, --cookies COOKIES_FILE
Load cookies.txt or cookies.sqlite
-t SECONDS, --timeout SECONDS
Set socket timeout
-d, --debug Show traceback and other debug info
-I FILE, --input-file FILE
Read non-playlist URLs from FILE
-P PASSWORD, --password PASSWORD
Set video visit password to PASSWORD
-l, --playlist Prefer to download a playlist
-a, --auto-rename Auto rename same name different files
-k, --insecure ignore ssl errors
Proxy options:
-x HOST:PORT, --http-proxy HOST:PORT
Use an HTTP proxy for downloading
-y HOST:PORT, --extractor-proxy HOST:PORT
Use an HTTP proxy for extracting only
--no-proxy Never use a proxy
-s HOST:PORT or USERNAME:PASSWORD@HOST:PORT, --socks-proxy HOST:PORT or USERNAME:PASSWORD@HOST:PORT
Use an SOCKS5 proxy for downloading
注意:
如果 you-get 出现问题,不要惊慌. (是的,问题一直存在!),看看是不是在 https://github.com/soimort/you-get/wiki/Known-Bugs里面,搜索 开放Issue,如果没人报告,开个新issue,加上详细的命令行输出。