mirror of
https://github.com/soimort/you-get.git
synced 2025-01-23 05:25:02 +03:00
version 0.1.0
This commit is contained in:
parent
70cb82b703
commit
66698f71b8
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,5 +1,6 @@
|
|||||||
/build/
|
/build/
|
||||||
/dist/
|
/dist/
|
||||||
|
/*.egg-info/
|
||||||
|
|
||||||
_*/
|
_*/
|
||||||
*.py[cod]
|
*.py[cod]
|
||||||
|
@ -1,2 +1,20 @@
|
|||||||
Changelog
|
Changelog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
0.1
|
||||||
|
---
|
||||||
|
|
||||||
|
*Date: 2012-09-01*
|
||||||
|
|
||||||
|
* First PyPI release.
|
||||||
|
* Fix issue `#1 <https://github.com/soimort/you-get/issues/1>`_.
|
||||||
|
|
||||||
|
0.0.1
|
||||||
|
-----
|
||||||
|
|
||||||
|
*Date: 2012-08-21*
|
||||||
|
|
||||||
|
* Initial release, forked from `iambus/youku-lixian <https://github.com/iambus/youku-lixian>`_; add:
|
||||||
|
- YouTube support.
|
||||||
|
- Pausing and resuming of downloads.
|
||||||
|
- HTTP proxy settings.
|
||||||
|
15
Makefile
15
Makefile
@ -1,18 +1,21 @@
|
|||||||
default: install sdist bdist
|
default: sdist bdist bdist_egg install
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -fr build/ dist/
|
rm -fr build/ dist/ *.egg-info/
|
||||||
|
|
||||||
build:
|
build:
|
||||||
python3 setup.py build
|
python3 setup.py build
|
||||||
|
|
||||||
install: build
|
|
||||||
sudo python3 setup.py install
|
|
||||||
|
|
||||||
sdist:
|
sdist:
|
||||||
python3 setup.py sdist
|
python3 setup.py sdist
|
||||||
|
|
||||||
bdist:
|
bdist:
|
||||||
python3 setup.py bdist
|
python3 setup.py bdist
|
||||||
|
|
||||||
.PHONY: default clean build install sdist bdist
|
bdist_egg:
|
||||||
|
python3 setup.py bdist_egg
|
||||||
|
|
||||||
|
install: bdist_egg
|
||||||
|
sudo python3 setup.py install
|
||||||
|
|
||||||
|
.PHONY: default clean build sdist bdist bdist_egg install
|
||||||
|
265
README.md
265
README.md
@ -1,14 +1,176 @@
|
|||||||
# You-Get
|
# You-Get
|
||||||
|
|
||||||
一个Python 3的YouTube/优酷视频下载脚本。
|
[You-Get](https://github.com/soimort/you-get) is a video downloader runs on Python 3. It aims at easing the download of videos on [YouTube](http://www.youtube.com), [Youku](http://www.youku.com)/[Tudou](http://www.tudou.com) (biggest online video providers in China), etc., in one tool.
|
||||||
|
|
||||||
### Python版本
|
See the project homepage <http://www.soimort.org/you-get> for further documentation.
|
||||||
|
|
||||||
Python 3.x
|
Fork me on GitHub: <https://github.com/soimort/you-get>
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
### Supported Sites (UPDATING!)
|
||||||
|
|
||||||
|
* YouTube <http://www.youtube.com>
|
||||||
|
* Youku <http://www.youku.com>
|
||||||
|
* Tudou <http://www.tudou.com>
|
||||||
|
* YinYueTai <http://www.yinyuetai.com>
|
||||||
|
|
||||||
|
### Supported Video Formats
|
||||||
|
|
||||||
|
* WebM (*.webm)
|
||||||
|
* MP4 (*.mp4)
|
||||||
|
* FLV (*.flv)
|
||||||
|
* 3GP (*.3gp)
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### 1. Install via [Pip](http://www.pip-installer.org/):
|
||||||
|
|
||||||
|
$ pip install you_get
|
||||||
|
|
||||||
|
Check if the installation was successful:
|
||||||
|
|
||||||
|
$ you-get -V
|
||||||
|
|
||||||
|
### 2. Install via [EasyInstall](http://pypi.python.org/pypi/setuptools):
|
||||||
|
|
||||||
|
$ easy_install you_get
|
||||||
|
|
||||||
|
Check if the installation was successful:
|
||||||
|
|
||||||
|
$ you-get -V
|
||||||
|
|
||||||
|
### 3. Direct download (from <https://github.com/soimort/you-get/zipball/master>):
|
||||||
|
|
||||||
|
$ wget -O you-get.zip https://github.com/soimort/you-get/zipball/master
|
||||||
|
$ unzip you-get.zip
|
||||||
|
|
||||||
|
Use the raw script without installation:
|
||||||
|
|
||||||
|
$ cd soimort-you-get-*/
|
||||||
|
$ ./you-get -V
|
||||||
|
|
||||||
|
To install the package into the system path, execute:
|
||||||
|
|
||||||
|
$ make install
|
||||||
|
|
||||||
|
Or:
|
||||||
|
|
||||||
|
> setup.py install
|
||||||
|
|
||||||
|
on Windows.
|
||||||
|
|
||||||
|
Check if the installation was successful:
|
||||||
|
|
||||||
|
$ you-get -V
|
||||||
|
|
||||||
|
### 4. Clone the Git repository (RECOMMENDED!):
|
||||||
|
|
||||||
|
$ git clone git://github.com/soimort/you-get.git
|
||||||
|
|
||||||
|
Use the raw script without installation:
|
||||||
|
|
||||||
|
$ cd you-get/
|
||||||
|
$ ./you-get -V
|
||||||
|
|
||||||
|
To install the package into the system path, execute:
|
||||||
|
|
||||||
|
$ make install
|
||||||
|
|
||||||
|
Or:
|
||||||
|
|
||||||
|
> setup.py install
|
||||||
|
|
||||||
|
on Windows.
|
||||||
|
|
||||||
|
Check if the installation was successful:
|
||||||
|
|
||||||
|
$ you-get -V
|
||||||
|
|
||||||
|
## Examples (For End-Users)
|
||||||
|
|
||||||
|
Display the information of the video without downloading:
|
||||||
|
|
||||||
|
$ you-get -i http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
||||||
|
|
||||||
|
Download the video:
|
||||||
|
|
||||||
|
$ you-get http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
||||||
|
|
||||||
|
Download multiple videos:
|
||||||
|
|
||||||
|
$ you-get http://www.youtube.com/watch?v=sGwy8DsUJ4M http://www.youtube.com/watch?v=8bQlxQJEzLk
|
||||||
|
|
||||||
|
By default, program will skip any video that already exists in the local directory when downloading. If a temporary file (ends with a filename extension ".download") exists, program will resume this download.
|
||||||
|
|
||||||
|
To enforce the re-downloading of videos, use '-f' option (this will overwrite any existing video or temporary file, rather than skipping or resuming them):
|
||||||
|
|
||||||
|
$ you-get -f http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
||||||
|
|
||||||
|
Set the output directory of downloaded files:
|
||||||
|
|
||||||
|
$ you-get -o ~/Downloads http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
||||||
|
|
||||||
|
Use a specific HTTP proxy for downloading:
|
||||||
|
|
||||||
|
$ you-get -x 127.0.0.1:8087 http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
||||||
|
|
||||||
|
By default, Python will apply the system proxy settings (i.e. environment variable $http_proxy). To cancel the use of proxy, use '--no-proxy' option:
|
||||||
|
|
||||||
|
$ you-get --no-proxy http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
||||||
|
|
||||||
|
## Command-Line Options
|
||||||
|
|
||||||
|
For a complete list of all available options, see:
|
||||||
|
|
||||||
|
$ you-get --help
|
||||||
|
|
||||||
|
## Examples (For Developers)
|
||||||
|
|
||||||
|
In Python 3.2 (interactive):
|
||||||
|
|
||||||
|
>>> import you_get
|
||||||
|
|
||||||
|
>>> you_get.__version__
|
||||||
|
'0.1'
|
||||||
|
|
||||||
|
>>> you_get.youtube_download("http://www.youtube.com/watch?v=8bQlxQJEzLk", info_only = True)
|
||||||
|
Video Site: YouTube.com
|
||||||
|
Title: If you're good at something, never do it for free!
|
||||||
|
Type: WebM video (video/webm)
|
||||||
|
Size: 0.13 MB (133176 Bytes)
|
||||||
|
|
||||||
|
>>> you_get.any_download("http://www.youtube.com/watch?v=sGwy8DsUJ4M")
|
||||||
|
Video Site: YouTube.com
|
||||||
|
Title: Mort from Madagascar LIKES
|
||||||
|
Type: WebM video (video/webm)
|
||||||
|
Size: 1.78 MB (1867072 Bytes)
|
||||||
|
Downloading Mort from Madagascar LIKES.webm ...
|
||||||
|
100.0% ( 1.8/1.8 MB) [========================================] 1/1
|
||||||
|
|
||||||
|
## API Reference
|
||||||
|
|
||||||
|
See source code.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
You-Get is licensed under the [MIT license](https://raw.github.com/soimort/you-get/master/LICENSE.txt).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# You-Get - 中文说明
|
||||||
|
|
||||||
|
[You-Get](https://github.com/soimort/you-get)是一个基于Python 3的视频下载工具。之所以写它的主要原因是,我找不到一个现成的下载工具能够同时支持[YouTube](http://www.youtube.com/)和[优酷](http://www.youku.com/);而且,几乎所有以前的视频下载程序都是基于Python 2的。
|
||||||
|
|
||||||
|
## 特点
|
||||||
|
|
||||||
### 说明
|
### 说明
|
||||||
|
|
||||||
基于优酷下载脚本[iambus/youku-lixian](https://github.com/iambus/youku-lixian)用Python 3改写而成,增加了以下功能:
|
You-Get基于优酷下载脚本[iambus/youku-lixian](https://github.com/iambus/youku-lixian)用Python 3改写而成,增加了以下功能:
|
||||||
|
|
||||||
* 支持YouTube
|
* 支持YouTube
|
||||||
* 支持断点续传
|
* 支持断点续传
|
||||||
@ -19,9 +181,9 @@ Python 3.x
|
|||||||
目前根据本人需求,仅实现了对有限几个视频站点的支持,以后会继续增加(・∀・)
|
目前根据本人需求,仅实现了对有限几个视频站点的支持,以后会继续增加(・∀・)
|
||||||
|
|
||||||
* YouTube <http://www.youtube.com>
|
* YouTube <http://www.youtube.com>
|
||||||
* 音悦台 <http://www.yinyuetai.com>
|
|
||||||
* 优酷 <http://www.youku.com>
|
* 优酷 <http://www.youku.com>
|
||||||
* 土豆 <http://www.tudou.com>
|
* 土豆 <http://www.tudou.com>
|
||||||
|
* 音悦台 <http://www.yinyuetai.com>
|
||||||
|
|
||||||
### 输出视频格式
|
### 输出视频格式
|
||||||
|
|
||||||
@ -32,38 +194,101 @@ Python 3.x
|
|||||||
|
|
||||||
对于YouTube,程序将下载画质最高的[编码格式](http://en.wikipedia.org/wiki/Youtube#Quality_and_codecs)。
|
对于YouTube,程序将下载画质最高的[编码格式](http://en.wikipedia.org/wiki/Youtube#Quality_and_codecs)。
|
||||||
|
|
||||||
### 如何下载视频
|
## 安装方法
|
||||||
|
|
||||||
(以下命令均以Linux shell为例……Windows用户请自行脑补正确的命令格式)
|
(以下命令均以Linux shell为例)
|
||||||
|
|
||||||
|
### 1. 通过[Pip](http://www.pip-installer.org/)安装:
|
||||||
|
|
||||||
|
$ pip install you_get
|
||||||
|
|
||||||
|
检查安装是否成功:
|
||||||
|
|
||||||
|
$ you-get -V
|
||||||
|
|
||||||
|
### 2. 通过[EasyInstall](http://pypi.python.org/pypi/setuptools)安装:
|
||||||
|
|
||||||
|
$ easy_install you_get
|
||||||
|
|
||||||
|
检查安装是否成功:
|
||||||
|
|
||||||
|
$ you-get -V
|
||||||
|
|
||||||
|
### 3. 直接下载(从<https://github.com/soimort/you-get/zipball/master>):
|
||||||
|
|
||||||
|
$ wget -O you-get.zip https://github.com/soimort/you-get/zipball/master
|
||||||
|
$ unzip you-get.zip
|
||||||
|
|
||||||
|
在不安装的情况下直接使用脚本:
|
||||||
|
|
||||||
|
$ cd soimort-you-get-*/
|
||||||
|
$ ./you-get -V
|
||||||
|
|
||||||
|
若要将Python package安装到系统默认路径,执行:
|
||||||
|
|
||||||
|
$ make install
|
||||||
|
|
||||||
|
或:(适用于Windows)
|
||||||
|
|
||||||
|
> setup.py install
|
||||||
|
|
||||||
|
检查安装是否成功:
|
||||||
|
|
||||||
|
$ you-get -V
|
||||||
|
|
||||||
|
### 4. 从Git安装(推荐):
|
||||||
|
|
||||||
|
$ git clone git://github.com/soimort/you-get.git
|
||||||
|
|
||||||
|
在不安装的情况下直接使用脚本:
|
||||||
|
|
||||||
|
$ cd you-get/
|
||||||
|
$ ./you-get -V
|
||||||
|
|
||||||
|
若要将Python package安装到系统默认路径,执行:
|
||||||
|
|
||||||
|
$ make install
|
||||||
|
|
||||||
|
或:(适用于Windows)
|
||||||
|
|
||||||
|
> setup.py install
|
||||||
|
|
||||||
|
检查安装是否成功:
|
||||||
|
|
||||||
|
$ you-get -V
|
||||||
|
|
||||||
|
## 使用方法示例
|
||||||
|
|
||||||
|
### 如何下载视频
|
||||||
|
|
||||||
显示视频信息,但不进行下载(`-i`或`--info`选项):
|
显示视频信息,但不进行下载(`-i`或`--info`选项):
|
||||||
|
|
||||||
$ ./you-get -i http://www.yinyuetai.com/video/463772
|
$ you-get -i http://www.yinyuetai.com/video/463772
|
||||||
|
|
||||||
下载视频:
|
下载视频:
|
||||||
|
|
||||||
$ ./you-get http://www.yinyuetai.com/video/463772
|
$ you-get http://www.yinyuetai.com/video/463772
|
||||||
|
|
||||||
下载多个视频:
|
下载多个视频:
|
||||||
|
|
||||||
$ ./you-get http://www.yinyuetai.com/video/463772 http://www.yinyuetai.com/video/471500
|
$ you-get http://www.yinyuetai.com/video/463772 http://www.yinyuetai.com/video/471500
|
||||||
|
|
||||||
若当前目录下已有与视频标题同名的文件,下载时会自动跳过。若有同名的`.download`临时文件,程序会从上次中断处开始下载。
|
若当前目录下已有与视频标题同名的文件,下载时会自动跳过。若有同名的`.download`临时文件,程序会从上次中断处开始下载。
|
||||||
如要强制重新下载该视频,可使用`-f`(`--force`)选项:
|
如要强制重新下载该视频,可使用`-f`(`--force`)选项:
|
||||||
|
|
||||||
$ ./you-get -f http://www.yinyuetai.com/video/463772
|
$ you-get -f http://www.yinyuetai.com/video/463772
|
||||||
|
|
||||||
`-l`(`--playlist`)选项用于下载播放列表(只对某些网站适用):
|
`-l`(`--playlist`)选项用于下载播放列表(只对某些网站适用):
|
||||||
|
|
||||||
$ ./you-get -l http://www.youku.com/playlist_show/id_5344313.html
|
$ you-get -l http://www.youku.com/playlist_show/id_5344313.html
|
||||||
|
|
||||||
指定视频文件的下载目录:
|
指定视频文件的下载目录:
|
||||||
|
|
||||||
$ ./you-get -o ~/Downloads http://www.yinyuetai.com/video/463772
|
$ you-get -o ~/Downloads http://www.yinyuetai.com/video/463772
|
||||||
|
|
||||||
显示详细帮助:
|
显示详细帮助:
|
||||||
|
|
||||||
$ ./you-get -h
|
$ you-get -h
|
||||||
|
|
||||||
### 如何设置代理
|
### 如何设置代理
|
||||||
|
|
||||||
@ -71,15 +296,15 @@ Python 3.x
|
|||||||
|
|
||||||
`-x`(`--http-proxy`)选项用于手动指定You-Get所使用的HTTP代理。例如:GoAgent的代理服务器是`http://127.0.0.1:8087`,则使用该代理下载某YouTube视频的命令是:
|
`-x`(`--http-proxy`)选项用于手动指定You-Get所使用的HTTP代理。例如:GoAgent的代理服务器是`http://127.0.0.1:8087`,则使用该代理下载某YouTube视频的命令是:
|
||||||
|
|
||||||
$ ./you-get -x 127.0.0.1:8087 http://www.youtube.com/watch?v=KbtO_Ayjw0M
|
$ you-get -x 127.0.0.1:8087 http://www.youtube.com/watch?v=KbtO_Ayjw0M
|
||||||
|
|
||||||
Windows下的自由门等翻墙软件会自动设置系统全局代理,因此无需指定HTTP代理即可下载YouTube视频:
|
Windows下的自由门等翻墙软件会自动设置系统全局代理,因此无需指定HTTP代理即可下载YouTube视频:
|
||||||
|
|
||||||
$ ./you-get http://www.youtube.com/watch?v=KbtO_Ayjw0M
|
$ you-get http://www.youtube.com/watch?v=KbtO_Ayjw0M
|
||||||
|
|
||||||
如果不希望程序在下载过程中使用任何代理(包括系统的代理配置),可以显式地指定`--no-proxy`选项:
|
如果不希望程序在下载过程中使用任何代理(包括系统的代理配置),可以显式地指定`--no-proxy`选项:
|
||||||
|
|
||||||
$ ./you-get --no-proxy http://v.youku.com/v_show/id_XMjI0ODc1NTc2.html
|
$ you-get --no-proxy http://v.youku.com/v_show/id_XMjI0ODc1NTc2.html
|
||||||
|
|
||||||
### 断点续传
|
### 断点续传
|
||||||
|
|
||||||
@ -87,12 +312,12 @@ Windows下的自由门等翻墙软件会自动设置系统全局代理,因此
|
|||||||
|
|
||||||
下次运行只要在目标路径中找到相应的`.download`临时文件,程序会自动从中断处继续下载。(除非指定了`-f`选项)
|
下次运行只要在目标路径中找到相应的`.download`临时文件,程序会自动从中断处继续下载。(除非指定了`-f`选项)
|
||||||
|
|
||||||
### 使用Python 2?
|
## 使用Python 2?
|
||||||
|
|
||||||
优酷等国内视频网站的下载,请移步:[iambus/youku-lixian](https://github.com/iambus/youku-lixian)
|
优酷等国内视频网站的下载,请移步:[iambus/youku-lixian](https://github.com/iambus/youku-lixian)
|
||||||
|
|
||||||
YouTube等国外视频网站的下载,请移步:[rg3/youtube-dl](https://github.com/rg3/youtube-dl)
|
YouTube等国外视频网站的下载,请移步:[rg3/youtube-dl](https://github.com/rg3/youtube-dl)
|
||||||
|
|
||||||
### 许可证
|
## 许可证
|
||||||
|
|
||||||
源码在MIT License下发布。
|
You-Get在[MIT License](https://raw.github.com/soimort/you-get/master/LICENSE.txt)下发布。
|
||||||
|
165
README.txt
165
README.txt
@ -1,2 +1,167 @@
|
|||||||
You-Get
|
You-Get
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
`You-Get <https://github.com/soimort/you-get>`_ is a video downloader runs on Python 3. It aims at easing the download of videos on `YouTube <http://www.youtube.com>`_, `Youku <http://www.youku.com>`_/`Tudou <http://www.tudou.com>`_ (biggest online video providers in China), etc., in one tool.
|
||||||
|
|
||||||
|
See the project homepage http://www.soimort.org/you-get for further documentation.
|
||||||
|
|
||||||
|
Fork me on GitHub: https://github.com/soimort/you-get
|
||||||
|
|
||||||
|
Features
|
||||||
|
--------
|
||||||
|
|
||||||
|
Supported Sites (UPDATING!)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
* YouTube http://www.youtube.com
|
||||||
|
* Youku http://www.youku.com
|
||||||
|
* Tudou http://www.tudou.com
|
||||||
|
* YinYueTai http://www.yinyuetai.com
|
||||||
|
|
||||||
|
Supported Video Formats
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
* WebM (\*.webm)
|
||||||
|
* MP4 (\*.mp4)
|
||||||
|
* FLV (\*.flv)
|
||||||
|
* 3GP (\*.3gp)
|
||||||
|
|
||||||
|
Installation
|
||||||
|
------------
|
||||||
|
|
||||||
|
#) Install via `Pip <http://www.pip-installer.org/>`_::
|
||||||
|
|
||||||
|
$ pip install you_get
|
||||||
|
|
||||||
|
Check if the installation was successful::
|
||||||
|
|
||||||
|
$ you-get -V
|
||||||
|
|
||||||
|
#) Install via `EasyInstall <http://pypi.python.org/pypi/setuptools>`_::
|
||||||
|
|
||||||
|
$ easy_install you_get
|
||||||
|
|
||||||
|
Check if the installation was successful::
|
||||||
|
|
||||||
|
$ you-get -V
|
||||||
|
|
||||||
|
#) Direct download (from https://github.com/soimort/you-get/zipball/master)::
|
||||||
|
|
||||||
|
$ wget -O you-get.zip https://github.com/soimort/you-get/zipball/master
|
||||||
|
$ unzip you-get.zip
|
||||||
|
|
||||||
|
Use the raw script without installation::
|
||||||
|
|
||||||
|
$ cd soimort-you-get-*/
|
||||||
|
$ ./you-get -V
|
||||||
|
|
||||||
|
To install the package into the system path, execute::
|
||||||
|
|
||||||
|
$ make install
|
||||||
|
|
||||||
|
Or::
|
||||||
|
|
||||||
|
> setup.py install
|
||||||
|
|
||||||
|
on Windows.
|
||||||
|
|
||||||
|
Check if the installation was successful::
|
||||||
|
|
||||||
|
$ you-get -V
|
||||||
|
|
||||||
|
#) Clone the Git repository (RECOMMENDED!)::
|
||||||
|
|
||||||
|
$ git clone git://github.com/soimort/you-get.git
|
||||||
|
|
||||||
|
Use the raw script without installation::
|
||||||
|
|
||||||
|
$ cd you-get/
|
||||||
|
$ ./you-get -V
|
||||||
|
|
||||||
|
To install the package into the system path, execute::
|
||||||
|
|
||||||
|
$ make install
|
||||||
|
|
||||||
|
Or::
|
||||||
|
|
||||||
|
> setup.py install
|
||||||
|
|
||||||
|
on Windows.
|
||||||
|
|
||||||
|
Check if the installation was successful::
|
||||||
|
|
||||||
|
$ you-get -V
|
||||||
|
|
||||||
|
Examples (For End-Users)
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
Display the information of the video without downloading::
|
||||||
|
|
||||||
|
$ you-get -i http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
||||||
|
|
||||||
|
Download the video::
|
||||||
|
|
||||||
|
$ you-get http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
||||||
|
|
||||||
|
Download multiple videos::
|
||||||
|
|
||||||
|
$ you-get http://www.youtube.com/watch?v=sGwy8DsUJ4M http://www.youtube.com/watch?v=8bQlxQJEzLk
|
||||||
|
|
||||||
|
By default, program will skip any video that already exists in the local directory when downloading. If a temporary file (ends with a filename extension ".download") exists, program will resume this download.
|
||||||
|
|
||||||
|
To enforce the re-downloading of videos, use '-f' option (this will overwrite any existing video or temporary file, rather than skipping or resuming them)::
|
||||||
|
|
||||||
|
$ you-get -f http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
||||||
|
|
||||||
|
Set the output directory of downloaded files::
|
||||||
|
|
||||||
|
$ you-get -o ~/Downloads http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
||||||
|
|
||||||
|
Use a specific HTTP proxy for downloading::
|
||||||
|
|
||||||
|
$ you-get -x 127.0.0.1:8087 http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
||||||
|
|
||||||
|
By default, Python will apply the system proxy settings (i.e. environment variable $http_proxy). To cancel the use of proxy, use '--no-proxy' option::
|
||||||
|
|
||||||
|
$ you-get --no-proxy http://www.youtube.com/watch?v=sGwy8DsUJ4M
|
||||||
|
|
||||||
|
Command-Line Options
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
For a complete list of all available options, see::
|
||||||
|
|
||||||
|
$ you-get --help
|
||||||
|
|
||||||
|
Examples (For Developers)
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
In Python 3.2 (interactive)::
|
||||||
|
|
||||||
|
>>> import you_get
|
||||||
|
|
||||||
|
>>> you_get.__version__
|
||||||
|
'0.1'
|
||||||
|
|
||||||
|
>>> you_get.youtube_download("http://www.youtube.com/watch?v=8bQlxQJEzLk", info_only = True)
|
||||||
|
Video Site: YouTube.com
|
||||||
|
Title: If you're good at something, never do it for free!
|
||||||
|
Type: WebM video (video/webm)
|
||||||
|
Size: 0.13 MB (133176 Bytes)
|
||||||
|
|
||||||
|
>>> you_get.any_download("http://www.youtube.com/watch?v=sGwy8DsUJ4M")
|
||||||
|
Video Site: YouTube.com
|
||||||
|
Title: Mort from Madagascar LIKES
|
||||||
|
Type: WebM video (video/webm)
|
||||||
|
Size: 1.78 MB (1867072 Bytes)
|
||||||
|
Downloading Mort from Madagascar LIKES.webm ...
|
||||||
|
100.0% ( 1.8/1.8 MB) [========================================] 1/1
|
||||||
|
|
||||||
|
API Reference
|
||||||
|
-------------
|
||||||
|
|
||||||
|
See source code.
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
You-Get is licensed under the `MIT license <https://raw.github.com/soimort/you-get/master/LICENSE.txt>`_.
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
[build]
|
[build]
|
||||||
force=0
|
force = 0
|
||||||
|
|
||||||
[global]
|
[global]
|
||||||
verbose=0
|
verbose = 0
|
||||||
|
|
||||||
|
[egg_info]
|
||||||
|
tag_build =
|
||||||
|
tag_date = 0
|
||||||
|
tag_svn_revision = 0
|
||||||
|
13
setup.py
13
setup.py
@ -9,7 +9,7 @@ proj_info = json.loads(open(os.path.join(here, PROJ_METADATA)).read())
|
|||||||
README = open(os.path.join(here, 'README.txt')).read()
|
README = open(os.path.join(here, 'README.txt')).read()
|
||||||
CHANGELOG = open(os.path.join(here, 'CHANGELOG.txt')).read()
|
CHANGELOG = open(os.path.join(here, 'CHANGELOG.txt')).read()
|
||||||
|
|
||||||
from distutils.core import setup
|
from setuptools import setup, find_packages
|
||||||
setup(
|
setup(
|
||||||
name = proj_info['name'],
|
name = proj_info['name'],
|
||||||
version = proj_info['version'],
|
version = proj_info['version'],
|
||||||
@ -22,9 +22,16 @@ setup(
|
|||||||
|
|
||||||
description = proj_info['description'],
|
description = proj_info['description'],
|
||||||
keywords = proj_info['keywords'],
|
keywords = proj_info['keywords'],
|
||||||
|
|
||||||
long_description = README + '\n\n' + CHANGELOG,
|
long_description = README + '\n\n' + CHANGELOG,
|
||||||
|
|
||||||
packages = proj_info['packages'],
|
packages = find_packages(),
|
||||||
|
|
||||||
classifiers = proj_info['classifiers']
|
platforms = 'any',
|
||||||
|
zip_safe = False,
|
||||||
|
include_package_data = True,
|
||||||
|
|
||||||
|
classifiers = proj_info['classifiers'],
|
||||||
|
|
||||||
|
entry_points = {'console_scripts': proj_info['console_scripts']}
|
||||||
)
|
)
|
||||||
|
2
you-get
2
you-get
@ -3,4 +3,4 @@
|
|||||||
from you_get import *
|
from you_get import *
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
script_main('you-get', any_download, any_download_playlist)
|
main()
|
||||||
|
16
you-get.json
16
you-get.json
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "you-get",
|
"name": "you-get",
|
||||||
"version": "0.0.1",
|
"version": "0.1",
|
||||||
"date": "2012-08-20",
|
"date": "2012-09-01",
|
||||||
|
|
||||||
"author": "Mort Yao",
|
"author": "Mort Yao",
|
||||||
"author_email": "mort.yao@gmail.com",
|
"author_email": "mort.yao@gmail.com",
|
||||||
@ -12,14 +12,8 @@
|
|||||||
"description": "A YouTube/Youku video downloader written in Python 3.",
|
"description": "A YouTube/Youku video downloader written in Python 3.",
|
||||||
"keywords": "video download youtube youku",
|
"keywords": "video download youtube youku",
|
||||||
|
|
||||||
"packages": [
|
|
||||||
"you_get",
|
|
||||||
"you_get.downloader",
|
|
||||||
"you_get.processor"
|
|
||||||
],
|
|
||||||
|
|
||||||
"classifiers": [
|
"classifiers": [
|
||||||
"Development Status :: 1 - Planning",
|
"Development Status :: 2 - Pre-Alpha",
|
||||||
"Environment :: Console",
|
"Environment :: Console",
|
||||||
"Environment :: Web Environment",
|
"Environment :: Web Environment",
|
||||||
"Intended Audience :: End Users/Desktop",
|
"Intended Audience :: End Users/Desktop",
|
||||||
@ -35,5 +29,9 @@
|
|||||||
"Topic :: Multimedia",
|
"Topic :: Multimedia",
|
||||||
"Topic :: Multimedia :: Video",
|
"Topic :: Multimedia :: Video",
|
||||||
"Topic :: Utilities"
|
"Topic :: Utilities"
|
||||||
|
],
|
||||||
|
|
||||||
|
"console_scripts": [
|
||||||
|
"you-get = you_get.main:main"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from .processor import *
|
from .processor import *
|
||||||
from .downloader import *
|
from .downloader import *
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
import getopt
|
import getopt
|
||||||
import json
|
import json
|
||||||
@ -361,7 +362,7 @@ def set_http_proxy(proxy):
|
|||||||
|
|
||||||
def script_main(script_name, download, download_playlist = None):
|
def script_main(script_name, download, download_playlist = None):
|
||||||
version = 'You-Get %s, a video downloader.' % proj_info['version']
|
version = 'You-Get %s, a video downloader.' % proj_info['version']
|
||||||
help = 'Usage: [python3] %s [OPTION]... [URL]...\n' % script_name
|
help = 'Usage: %s [OPTION]... [URL]...\n' % script_name
|
||||||
help += '''\nStartup options:
|
help += '''\nStartup options:
|
||||||
-V | --version Display the version and exit.
|
-V | --version Display the version and exit.
|
||||||
-h | --help Print this help and exit.
|
-h | --help Print this help and exit.
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
from .tudou import *
|
from .tudou import *
|
||||||
from .yinyuetai import *
|
from .yinyuetai import *
|
||||||
|
3
you_get/downloader/tudou.py
Executable file → Normal file
3
you_get/downloader/tudou.py
Executable file → Normal file
@ -71,6 +71,3 @@ def tudou_download_playlist(url, output_dir = '.', merge = True, info_only = Fal
|
|||||||
site_info = "Tudou.com"
|
site_info = "Tudou.com"
|
||||||
download = tudou_download
|
download = tudou_download
|
||||||
download_playlist = tudou_download_playlist
|
download_playlist = tudou_download_playlist
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
script_main('tudou.py', tudou_download, tudou_download_playlist)
|
|
||||||
|
3
you_get/downloader/yinyuetai.py
Executable file → Normal file
3
you_get/downloader/yinyuetai.py
Executable file → Normal file
@ -31,6 +31,3 @@ def yinyuetai_download(url, output_dir = '.', merge = True, info_only = False):
|
|||||||
site_info = "YinYueTai.com"
|
site_info = "YinYueTai.com"
|
||||||
download = yinyuetai_download
|
download = yinyuetai_download
|
||||||
download_playlist = playlist_not_supported('yinyuetai')
|
download_playlist = playlist_not_supported('yinyuetai')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
script_main('yinyuetai.py', yinyuetai_download)
|
|
||||||
|
3
you_get/downloader/youku.py
Executable file → Normal file
3
you_get/downloader/youku.py
Executable file → Normal file
@ -196,6 +196,3 @@ def youku_download_playlist(url, output_dir = '.', merge = True, info_only = Fal
|
|||||||
site_info = "Youku.com"
|
site_info = "Youku.com"
|
||||||
download = youku_download
|
download = youku_download
|
||||||
download_playlist = youku_download_playlist
|
download_playlist = youku_download_playlist
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
script_main('youku.py', youku_download, youku_download_playlist)
|
|
||||||
|
3
you_get/downloader/youtube.py
Executable file → Normal file
3
you_get/downloader/youtube.py
Executable file → Normal file
@ -31,6 +31,3 @@ def youtube_download(url, output_dir = '.', merge = True, info_only = False):
|
|||||||
site_info = "YouTube.com"
|
site_info = "YouTube.com"
|
||||||
download = youtube_download
|
download = youtube_download
|
||||||
download_playlist = playlist_not_supported('youtube')
|
download_playlist = playlist_not_supported('youtube')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
script_main('youtube.py', youtube_download)
|
|
||||||
|
6
you_get/main.py
Executable file → Normal file
6
you_get/main.py
Executable file → Normal file
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
__all__ = ['any_download', 'any_download_playlist']
|
__all__ = ['main', 'any_download', 'any_download_playlist']
|
||||||
|
|
||||||
from .downloader import *
|
from .downloader import *
|
||||||
from .common import *
|
from .common import *
|
||||||
@ -46,5 +46,5 @@ def any_download_playlist(url, output_dir = '.', merge = True, info_only = False
|
|||||||
m = url_to_module(url)
|
m = url_to_module(url)
|
||||||
m.download_playlist(url, output_dir = output_dir, merge = merge, info_only = info_only)
|
m.download_playlist(url, output_dir = output_dir, merge = merge, info_only = info_only)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
def main():
|
||||||
script_main('main.py', any_download, any_download_playlist)
|
script_main('you-get', any_download, any_download_playlist)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
__all__ = ['concat_flvs', 'concat_mp4s']
|
__all__ = ['concat_flvs', 'concat_mp4s']
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user