Skip to content
zhangn1985 edited this page Mar 4, 2018 · 52 revisions

YoukuDownLoader general help

简介

  • 基本结构

    YoukuDownLoader 分为两个部分

    1. pure Python library module ykdl: <PATH>/ykdl

    2. 可执行 module cykdl: <PATH>/cykdl。同时也是调用 library ykdl 的编程示例

安装和升级

Prepation

  • 本项目部分功能依赖于ffmpeg,请确保您已安装ffmpeg并将其添加到了系统环境变量的path

    Windows 用户可从此处 Builds - Zeranoe FFmpeg 下载最新稳定版

  • 本项目依赖于如下 Python 库:

    m3u8

    pycryptodome

  • 如果直接下载源码使用 git 安装,需要先自行安装好上述 Python 库,否则 ykdl 无法安装。

  • 使用 pip使用 pip+git 下载源码安装则会自动解决 Python 库的依赖。

  • 对于在Android上使用Termux的用户,由于pycryptopycryptodome均未提供相应平台的 binary,并且在多数情况下无法成功编译通过

    如果确实需要安装本项目,可以自行修改 setup.py,去掉pycryptodome的依赖(修改后除无法下载网易云音乐外,无其他影响)

    具体原因请参考 #213#131

可以通过以下方法安装使用

  • 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. 本项目已经在 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 升级:请重复安装时的操作

    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的位置相似

         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.4), 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

只对当前窗口有效

Clone this wiki locally