前から気になっていたので、動作検証がてら触ってみた。
なお、今回は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
実行ログ(例)
3.使い方
今回は一番簡単な例を紹介する。
他にもいろいろ使い方はあると思うので、もっと詳しくやりたいと思う人は以下サイトを参照。
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()
実行ログ