-
Notifications
You must be signed in to change notification settings - Fork 284
Home
-
基本结构
YoukuDownLoader 分为两个部分
1. pure Python library module
ykdl
:<PATH>/ykdl
2. 可执行 module
cykdl
:<PATH>/cykdl
。同时也是调用 libraryykdl
的编程示例
-
本项目部分功能依赖于
ffmpeg
,请确保您已安装ffmpeg
并将其添加到了系统环境变量的path
中Windows 用户可从此处 Builds - Zeranoe FFmpeg 下载最新稳定版
-
本项目依赖于如下 Python 库:
pycrypto(Linux 下),Windows 下为 pycryptodome
-
如果下载源码安装,需要先手动安装好上述 Python 库,否则 ykdl 无法安装。
使用 pip 安装则会自动解决 Python 库的依赖。
-
由于
pycrypto
是 dist-packages,需要先使用系统包管理器(如 apt-get,yum,dnf,zypper,pacman ……)安装。否则下载源码安装会失败,使用 pip 安装则会下载
pycrypto
的源码编译。pycryptodome
无上述问题。
-
0. 推荐使用 pip 安装本项目,附可行的 pip 安装方法
curl https://bootstrap.pypa.io/get-pip.py | python / python3 或者 wget https://bootstrap.pypa.io/get-pip.py -O - | python / python3 -
-
1. 本项目已经在 pip 上注册,可以使用 pip 安装。
pip install ykdl <-- Python2 / 默认的 Python pip3 install ykdl <-- Python3
通常 Linux 用户需要加一个
--user
参数,这样就不要sudo
权限不加
--user
则是安装在系统位置 -
2. 下载源代码包
1)直接下载 master.zip,解压后使用
可选步骤:
python setup.py install
安装到系统。或者
pip / pip3 install https://github.com/zhangn1985/ykdl/archive/master.zip
2)使用 git: git clone https://github.com/zhangn1985/ykdl.git
可选步骤:
python setup.py install
安装到系统。或者
pip / pip3 install git+https://github.com/zhangn1985/ykdl@master
-
1. 通过 pip 安装的,升级只需要在
pip / pip3 install
后边加一个--upgrade / -U
参数。 -
2. 下载源码安装的,升级请执行以下命令:
pip / pip3 install --upgrade / -U https://github.com/zhangn1985/ykdl/archive/master.zip
或者
pip / pip3 install --upgrade / -U git+https://github.com/zhangn1985/ykdl@master
-
library module
和可执行 module
都安装在PYTHON_LIBRARY_PATH/site-packages
例如:
/usr/lib/python3/site-packages/ykdl/
/usr/lib/python3/site-packages/cykdl/
~/.local/lib/python3/site-packages/ykdl
~/.local/lib/python3/site-packages/cykdl
C:\python34\Lib\site-packages\ykdl\ <--python35/36的位置相似
C:\python34\Lib\site-packages\cykdl\ <--python35/36的位置相似
-
可执行文件
通过
setup.py / pip
安装的,Setuptools 会为cykdl
生成封装脚本或者 Windows 上的.exe
可执行文件。
C:\python34\Scripts\ykdl.exe <--Windows,Python35/36的位置相似。
/usr/bin/ykdl 或 ~/.local/bin/ykdl <--Linux
-
可以在 Windows 的
命令提示符
或者 Linux 的Terminal
中执行ykdl
或者python -m cykdl
-
使用帮助
ykdl -h
usage: ykdl [-h] [-l] [-i] [-J] [-F FORMAT] [-o OUTPUT_DIR] [-O OUTPUT_NAME]
[-p PLAYER] [--proxy PROXY] [-t TIMEOUT] [--no-merge] [-s START]
[-j JOBS] [--debug]
video_urls [video_urls ...]
YouKuDownLoader(ykdl 1.5.0), a video downloader. Forked form you-get
0.3.34@soimort
positional arguments:
video_urls video urls
要下载视频的网址
optional arguments:
-h, --help show this help message and exit
显示本帮助信息并退出
-l, --playlist Download as a playlist.
将所给的视频 URL 作为播放列表进行下载
-i, --info Display the information of videos without downloading.
只显示视频信息而不进行下载
-J, --json Display info in json format.
以 json 格式显示视频信息
-F FORMAT, --format FORMAT
Video format code.
指定视频的格式代号。参数通常是 TD, HD, SD, LD。默认最高清晰度。具体请看 -i 的输出。
-o OUTPUT_DIR, --output-dir OUTPUT_DIR
Set the output directory for downloaded videos.
指定下载视频的保存目录
-O OUTPUT_NAME, --output-name OUTPUT_NAME
downloaded videos with the NAME you want
指定下载视频的文件名
-p PLAYER, --player PLAYER
Directly play the video with PLAYER like mpv
直接使用播放器播放而不是下载,推荐使用[mpv](https://mpv.io)
--proxy PROXY set proxy HOST:PORT for http(s) transfer. default: use
system proxy settings
为下载指定代理 HOST:PORT(主机名:端口号),默认使用系统的代理设置
-t TIMEOUT, --timeout TIMEOUT
set socket timeout seconds, default 60s
设置网络传输超时时长,单位秒。默认为60秒
--no-merge do not merge video slides
不合并视频分片
-s START, --start START
start from INDEX to play/download playlist
配合 -l 使用,从播放列表的第 X 项开始播放。
-j JOBS, --jobs JOBS number of jobs for multiprocess download
指定并行下载的视频分片数
--debug print debug messages from ykdl
打印调试信息
- 系统代理 system proxy settings
可以在 Windows 的命令提示符
或者 Linux 的Terminal
中为http(s)传输
设置系统代理,方法为
set http_proxy=HOST:PORT <--Windows
set https_proxy=HOST:PORT <--Windows
export http_proxy=HOST:PORT <--Linux
export https_proxy=HOST:PORT <--Linux
只对当前窗口有效