Python
Python3
Pythonista3

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

前から気になっていたので、動作検証がてら触ってみた。

なお、今回はMBAとPythonista使用で使用できるか試してみる。


1. pytubeとは


  • Youtubeの動画をDLするためのPythonライブラリ

  • 軽量かつ依存性のないライブラリ


2. インストール方法

基本的にpipでDLする。


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

※pipの導入方法は割愛(他のQitia記事などを参照)

#①事前確認コマンド(※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の場合

※pipを使用するためには、StaShの導入が必要となる

※StaShおよびpipの導入方法は割愛(他のQitia記事などを参照)

#①事前確認コマンド(※pytubeが既にインストールされていないことの確認)

$ pip list | grep pytube

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

実行ログ(例)

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

IMG_0207.PNG