pyniconico

Python NicoNico Douga downloader


Licenses
MIT-feh/LPPL-1.2
Install
pip install pyniconico==1.4

Documentation

pyniconico

ニコニコ動画のダウンロードやマイリスト取得が行えるPython製のツールです。

サーバーに過度の負荷をかけない範囲でお使いください。

使い方

python >= 3.5

$ pip install pyniconico
$ nicopy -u username -p password download sm32831006
sm32831006
ゆるキャン△にハマるマン しめさば
Downloading: 100%|#######################################################################|Time: 0:00:24
Saved as .\ゆるキャン△にハマるマン.mp4

もしくは、

git clone https://github.com/Sakaki/pyniconico.git
cd pyniconico
pip install -r requirements.txt
python niconico.py -u username -p password download sm32831006

動画IDの部分はURLを指定することも可能です(URLはダブルクォートなりで囲って指定してください)。

ホームディレクトリに.netrcファイル(~/.netrc)を用意することで、ユーザー名及びパスワード入力を省略することができます。

$ cat ~/.netrc
machine   nicovideo
login     (ログインID)
password  (パスワード)
$ chmod 600 ~/.netrc
$ nicopy download sm32831006

WebDriverを変更する

ニコニコ動画にログインする際に使用するWebDriverを変更できます。

デフォルトだとChromiumが使用されますが、エラーが起きた際にお試しください。

また、ChromeかFirefoxを使用する際は、システムに使用するブラウザがインストールされている事を確認してください。

ChromeをWebDriverとして使用する場合、

nicopy -d chrome download sm32831006

FirefoxをWebDriverとして使用する場合、

nicopy -d firefox download sm32831006

PhantomJSをWebDriverとして使用する場合、

nicopy -d phantomjs download sm32831006

※PhantomJSを使用することは非推奨となっています。

GUIの無い環境だとWebDriverを動かすためのライブラリが揃っておらず、エラーが起きることが多いです。

そういった場合はPhantomJSを利用するか、パッケージマネージャでfirefoxやchrome(chromium)をインストールするとうまく行くことがあります。

Dockerで実行

.env ファイルを作成してdocker-composeコマンドを実行してください。

$ cat .env
driver=firefox
username=(ログインID)
password=(パスワード)

$ docker-compose run download sm32831006
$ docker-compose run mylist
$ docker-compose run mylist_items

mp3に変換

ffmpegをインストールし、実行可能となっている(PATHに登録されている)必要があります。

$ nicopy download --mp3 sm31606995
sm31606995
ハチ MV「砂の惑星 feat.初音ミク」 ハチ
Downloading: 100%|#######################################################################|Time: 0:00:22
Saved as .\ハチ_MV「砂の惑星_feat.初音ミク」.mp4
.\ハチ_MV「砂の惑星_feat.初音ミク」.mp3
...

マイリスト一覧

$ nicopy mylist
マジミラ2017 59835789
けものフレンズ 58720332
みんなの愛したゆゆ式 58076939
...

マイリスト動画一覧

$ nicopy mylist_items マジミラ2017
マジミラ2017:
  sm1587618
  sm26470008
  sm28974414
  sm31401854
...

マイリストからダウンロード

$ nicopy download --mylist ボカロ
ボカロ
【波音リツキレ音源】心做し 【UTAUカバー】 cillia
Downloading: 100%|#######################################################################|Time: 0:00:03
Saved as ./【波音リツキレ音源】心做し_【UTAUカバー】.mp4
【初音ミク】 声 【オリジナルPV】 はりー
Downloading: 100%|#######################################################################|Time: 0:00:16
Saved as ./【初音ミク】_声_【オリジナルPV】.mp4
【初音ミク】 Initial Song 【オリジナルMV】 40mP
Downloading: 100%|#######################################################################|Time: 0:00:14
Saved as ./【初音ミク】_Initial_Song_【オリジナルMV】.mp4
...

動作環境

OS / ブラウザ Chrome Firefox PhantomJS Chromium
Windows 64bit / 32bit 64bit / 32bit 64bit / 32bit 64bit / 32bit
Linux 64bit 64bit / 32bit 64bit / 32bit 64bit
macOS 64bit

※Windowsではnetrcが動きません

アンインストール

ユーザーのホームディレクトリに.pyniconicoディレクトリが自動作成されています。

こちらは消しても問題ありませんので、アンインストール時に削除してください。

テスト

cd pyniconico
python -m unittest discover tests

ライセンス

pyniconicoのソースコードのライセンスについては、LICENSEファイルを参照してください。

また、selenimuのWebDriverとしてChromeDriver・geckodriver・PhantomJSを自動的にダウンロードします。

ライセンスについては、それぞれ以下のようになっています。

WebDriver Webサイト ライセンス
ChdomeDriver http://chromedriver.chromium.org/ 明記無し(恐らくBSD license)
geckodriver https://github.com/mozilla/geckodriver Mozilla Public License Version 2.0
PhantomJS http://phantomjs.org/download.html BSD license

また、Chromiumについてはこちらをご覧ください。

WebDriverはホームディレクトリの .pyniconico/download 以下にダウンロードされます。