-
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 库:
-
如果直接下载源码或使用 git 安装,需要先自行安装好上述 Python 库,否则 ykdl 无法安装。
-
使用 pip 或使用 pip+git 下载源码安装则会自动解决 Python 库的依赖。
-
对于在
Android
上使用 Termux 的用户,由于pycryptodome
当前未提供相应平台的 binary,请先安装编译工具附:
Termux
下完整的 Prepation 安装方法(在 Termux 0.65 下测试通过)
pkg install clang ffmpeg getconf python
-
安装
clang
的同时会安装binutils libllvm ndk-sysroot
-
安装
ffmpeg
的同时会安装freetype libandroid-glob libgmp libgnutls libidn2 libmp3lame libnettle libogg libopus libpng libsoxr libunistring libvorbis libvpx libx264 libx265 xvidcore
-
安装
python
的同时会安装gdbm libcrypt libffi libsqlite libutil ncurses-ui-libs
- 0. 推荐使用 pip 安装本项目,附可行的 pip 安装方法
curl https://bootstrap.pypa.io/get-pip.py | python / python3
或者
wget https://bootstrap.pypa.io/get-pip.py -O - | python / python3 -
-
Termux
下安装Python
时会自动安装pip
-
1. 本项目已经在 PyPI - the Python Package Index 上注册,可以使用 pip 安装。
pip install ykdl <-- Python2 / 默认的 Python
pip3 install ykdl <-- Python3
-
通常 Linux 用户需要加一个
--user
参数,这样就不要sudo
权限 -
不加
--user
则是安装在系统位置 -
2. 下载源代码包(使用最新开发版)
-
2.1 直接下载 master.zip ,解压后使用
-
可选步骤:
python setup.py install
安装到系统。 -
2.2 使用 pip 下载源码安装:
pip / pip3 install https://github.com/zhangn1985/ykdl/archive/master.zip
-
2.3 使用 git:
git clone https://github.com/zhangn1985/ykdl.git
-
可选步骤:
python setup.py install
安装到系统。 -
2.4 使用 pip+git 下载源码安装:
pip / pip3 install git+https://github.com/zhangn1985/ykdl@master
-
1. 通过 pip 安装的,升级只需要在
pip / pip3 install
后边加一个--upgrade / -U
参数。 -
2. 下载源码安装(使用最新开发版)的,升级请根据所使用的安装方法执行以下命令:
-
2.1 直接下载 master.zip 升级:请重复安装时的操作
-
2.2 使用 pip 升级:
pip / pip3 install --upgrade / -U https://github.com/zhangn1985/ykdl/archive/master.zip
-
2.3 使用 git 升级:
cd /d path\to\work_crawler && git pull
-
2.4 使用 pip+git 升级:
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/37的位置相似
C:\Python34\Lib\site-packages\cykdl\ <--Python35/36/37的位置相似
-
可执行文件
通过
setup.py / pip
安装的,Setuptools
会为cykdl
生成封装脚本或者 Windows 上的.exe
可执行文件。
C:\Python34\Scripts\ykdl.exe <--Windows,Python35/36/37的位置相似。
/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] [-k] [--proxy PROXY] [-t TIMEOUT] [--no-merge]
[-s START] [-j JOBS] [--debug]
video_urls [video_urls ...]
YouKuDownLoader(ykdl 1.6.3), 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, or resolution level 0, 1, ...
指定视频的格式代号。参数通常是 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)
-k, --insecure Allow insecure server connections when using SSL.
允许不安全的 SSL 连接
--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
- 只对当前窗口有效