Pythonでpytubeライブラリを使ってみた


前から気になっていたので、動作検証がてら触ってみた。
なお、今回はMBAとPythonista使用で使用できるか試してみる。

## 1. pytubeとは
- Youtubeの動画をDLするためのPythonライブラリ
- 軽量かつ依存性のないライブラリ

## 2. インストール方法

基本的にpipでDLする。

### 2.1.MBA端末の場合(macOS iOS 10.13.3)

<font color="Red">※pipの導入方法は割愛(他のQitia記事などを参照)</font>


```実行コマンド
#①事前確認コマンド(※pytubeが既にインストールされていないことの確認)
$ pip list | grep pytube

#②pytubeのインストール(※今回は、最新のVersionをインストールする前提)
$ pip install pytube 

#③事後確認(※展開されたロケーションの確認も含む)
$ pip list | grep pytube
$ pip show pytube

```


```実行ログ（例）
(env_youtube_dl) MBA:Python_work $ 
(env_youtube_dl) MBA:Python_work $ pip list
Package    Version
---------- -------
pip        10.0.1 
setuptools 39.0.1 
(env_youtube_dl) MBA:Python_work $ 
(env_youtube_dl) MBA:Python_work $ pip install pytube
Collecting pytube
  Using cached https://files.pythonhosted.org/packages/ff/4e/a499f2a002c6fa922979441104cca30ac4b5119bd5320292ea0edfeb12d9/pytube-9.2.2.tar.gz
Installing collected packages: pytube
  Running setup.py install for pytube ... done
Successfully installed pytube-9.2.2
(env_youtube_dl) MBA:Python_work $ 
(env_youtube_dl) MBA:Python_work $ pip list
Package    Version
---------- -------
pip        10.0.1 
pytube     9.2.2  
setuptools 39.0.1 
(env_youtube_dl) MBA:Python_work $ 
(env_youtube_dl) MBA:Python_work $ pip show pytube
Name: pytube
Version: 9.2.2
Summary: A pythonic library for downloading YouTube Videos.
Home-page: https://github.com/nficano/pytube
Author: Nick Ficano
Author-email: nficano@gmail.com
License: Copyright (c) 2017 Nick Ficano
Location: /Users//Python_work/env_youtube_dl/lib/python3.6/site-packages
Requires: 
Required-by: 
(env_youtube_dl) MBA:Python_work $ 
```


### 2.2.Pythonista3の場合

<font color="Red">※pipを使用するためには、StaShの導入が必要となる</font>
<font color="Red">※StaShおよびpipの導入方法は割愛(他のQitia記事などを参照)</font>

```実行コマンド
#①事前確認コマンド(※pytubeが既にインストールされていないことの確認)
$ pip list | grep pytube

#②pytubeのインストール(※今回は、最新のVersionをインストールする前提)
$ pip install pytube 

```

実行ログ（例）

![IMG_0205.jpg](https://qiita-image-store.s3.amazonaws.com/0/33479/55945944-40fd-b931-8066-dd6bb3afcc6a.jpeg "IMG_0205.jpg")


## 3.使い方

今回は一番簡単な例を紹介する。
他にもいろいろ使い方はあると思うので、もっと詳しくやりたいと思う人は以下サイトを参照。

https://github.com/nficano/pytube/blob/master/LICENSE


### 3.1.MBA端末の場合(macOS iOS 10.13.3)

```実行コマンド
#①Pythonインタプリタの起動
$ python

#②パスの確認（※今回はpytubeのパスが通ってなかったので設定している）
>>> import sys
>>> print(sys.path)
>>> sys.path.append('/Users/hoge/Python_work/env_youtube_dl/lib/python3.6/site-packages')
>>> print(sys.path)

#③pytubeの実行
>>> from pytube import *
>>>YouTube('https://www.youtube.com/watch?v=OjeHDa4OPvw').streams.first().download()

```

```実行ログ
(env_youtube_dl) MBA:work_youtube $ python
Python 3.6.5 (default, Jun 17 2018, 12:13:06) 
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> import sys
>>> print(sys.path)
['', '/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6', '/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload', '/Users//Library/Python/3.6/lib/python/site-packages', '/usr/local/lib/python3.6/site-packages']
>>> 
>>> sys.path.append('/Users//Python_work/env_youtube_dl/lib/python3.6/site-packages')
>>> print(sys.path)
['', '/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6', '/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload', '/Users//Library/Python/3.6/lib/python/site-packages', '/usr/local/lib/python3.6/site-packages', '/Users//Python_work/env_youtube_dl/lib/python3.6/site-packages']
>>> 
>>> from pytube import *
>>> 
>>> YouTube('https://www.youtube.com/watch?v=OjeHDa4OPvw').streams.first().download()
>>> 
(env_youtube_dl) MBA:work_youtube $ 
(env_youtube_dl) MBA:work_youtube $ ll
total 663552
-rw-r--r--  1   staff  331551735  7  7 15:58 3_03 Pythonistaよ、Pythonistaを知っているか　〜こんなの欲しかった！ iOSアプリ開発環境Pythonista〜.mp4
(env_youtube_dl) MBA:work_youtube $ 

```

### 3.2.Pythonista3の場合

```実行コマンド
#①pytubeの実行
>>> from pytube import *
>>>YouTube('https://www.youtube.com/watch?v=OjeHDa4OPvw').streams.first().download()

```

実行ログ

![IMG_0206.PNG](https://qiita-image-store.s3.amazonaws.com/0/33479/ed5d47e2-0da3-e7ea-a437-6a358c634afe.png "IMG_0206.PNG")

![IMG_0207.PNG](https://qiita-image-store.s3.amazonaws.com/0/33479/399d9503-6e77-6a2b-d0ae-50592402a1d6.png "IMG_0207.PNG")