NicoBrowser - ランキング、公開マイリストからのニコニコ動画自動ダウンロード
NicoBrowser最新版(2011/09/22 ver.0.11.0)をダウンロードする
以前のバージョンを利用している場合には、後述「バージョンアップに関する注意事項」も参照のこと。
注: このページの記載は情報が古いです。最新の情報はsourceforgeのWikiを参照してください。
機能・特徴
- ニコニコ動画に投稿された動画の自動ダウンロード
- ランキングの上位から自動ダウンロード(ニコニコ動画のフィードを利用)
- 指定した公開マイリストから自動ダウンロード
- ダウンロード履歴管理
- 一度ダウンロードした動画は重複してダウンロードされない
- エコノミーモードでダウンロードしていた場合でも、高画質ファイルが取得できるのであれば再ダウンロードする
- Pure Javaで開発
- Windows, MacOS, Linux上などで動作可能
- Java実行環境(バージョン6以降)がインストールされている必要がある
- ipumとの連携でサムネイル付き音楽ファイルの自動生成が可能
- さきゅばすのNicoBrowser拡張によりさきゅばすとの連携が可能
操作方法
コマンドラインで以下を実行。
java -jar NicoBrowser.jar
(適切にjava実行環境の設定が行われていれば)NicoBrowser.jarのダブルクリックでも起動できますが、この場合エラーメッセージ等は表示されません。
その他詳細設定方法などは、ダウンロードファイルに含まれるREADME.htmlを参照。
バージョンアップに関する注意事項
ver.0.4.Xを利用していた場合の注意事項
アップデート後(つまり今回のファイルで上書きした後)、1回目の起動前に以下のコマンドを実行する必要があります。実行しないとDB関連のエラーとなり処理が継続できません。
java -jar NicoBrowser.jar sync4
(引数にsync4をつけて実行する)
2009/05/24版以前を使用していた場合の注意事項
アップデート後(つまり今回のファイルで上書きした後)、1回目の起動前に以下のコマンドを実行する必要があります。実行しないとDB関連のエラーとなり処理が継続できません。
java -jar NicoBrowser.jar sync
(引数にsyncをつけて実行する)
2009/03/23版以前を使用していた場合の注意事項
nicobrowser.propertiesの互換性がありません。一旦リネーム(or 削除)してから
実行してください。そうすると新しいnicobrowser.propertiesが作成されますので、そちらを編集して使用してください。
path.dbの設定は、従来は"ファイル名"の指定でしたが、現在は"ディレクトリ名"の指定に変わっていることに注意してください。
本体libディレクトリ以下について、構成が大きく変わっているため、libは上書きでなく置換することを推奨します。
改正著作権法に関する留意事項
2010年1月1日より著作権法が改正されました。これに伴い、本プログラムの使用用途によっては改正著作権法に抵触する恐れがあります。詳細は以下のペー ジ、及びこのページのリンク先文化庁サイトを参照のこと。
http://feather.cocolog-nifty.com/weblog/2009/12/post-b7a9.html
« ニコニコ動画コンテンツをサムネイルつきで音楽ファイルに変換する(ipum ver.0.2) | トップページ | データを保持したままテーブル構造を変更する(NicoBrowser ver.0.1) »
コメント
この記事へのコメントは終了しました。
トラックバック
この記事へのトラックバック一覧です: NicoBrowser - ランキング、公開マイリストからのニコニコ動画自動ダウンロード:
» NicoBrowser ver.0.3.0 設定画面追加 [雪羽の発火後忘失]
設定方法が分かりにくい、という旨のコメントをいくつか頂いたので、初期設定用の画面を追加した。 初回起動時(コンフィグが存在しない場合)、及び-pオプションを付けて起動した場合 java –jar NicoBrowser.jar –p に、コンフィグ設定画面が起動する。 ただし現在のところ、この画面ではマイリスト、フィードURLの編集が行えないため、これらを変更する場合には従来どおりファイルをエディ... [続きを読む]
» NicoBrowser ver.0.5.0 投稿者設定不具合の修正 [雪羽の発火後忘失]
動画ページにアクセスした際、ipum用に投稿者名の取得する機能があるのですが、この機能が正常に動作していない問題を修正しました。 また、内部で利用しているライブラリにLiquiBaseというものがあるのですが、ちょっと使い方に問題がありました。具体的には、path.dbの値を途中で変更するとDB関連のエラーでNicoBrowserの起動に失敗する、というものです。この修正を行ったので、従来のver... [続きを読む]
» NicoBrowser ver.0.6.0 保存ファイル名の命名規則設定 [雪羽の発火後忘失]
ダウンロードはこちらから。 今回の変更点は以下のとおりです。 ver.0.4.xからver.0.5以降にアップグレードできない問題を修正しました。 本バージョンをインストールした後、初回実行前に、次のようにsync4オプションを指定してコマンド実行して下さい。 java –jar NicoBrowser.jar sync4 ちなみに、ver.0.5.0から0.6.0へは特別な操作は必要ありません。... [続きを読む]
» NicoBrowser 0.9.1 設定画面操作性向上 [雪羽の発火後忘失]
ダウンロードはこちらから。 前回のver.0.6.1のリリースが去年の5月なので、ずいぶん時間が空きました…そしてバージョンが大きく上がった割に機能的にはほとんど変わっていません… NicoBrowserは他のcoroidなどからライブラリとして使用しているのでAPI的な変更は結構あるのでこのようにバージョン番号が上がっていますが、NicoBrowser単体で使用する分には、増えた機能は以下の一点... [続きを読む]
« ニコニコ動画コンテンツをサムネイルつきで音楽ファイルに変換する(ipum ver.0.2) | トップページ | データを保持したままテーブル構造を変更する(NicoBrowser ver.0.1) »
大変便利なツールを提供していただいて感謝しております。
使ってみてひとつ気になったところがありますので、コメントさせていただきます。
動画が100個ほど登録されているマイリストを4つほど登録してダウンロードをしていると、
「ERROR - ファイル取得に失敗しました。」
というエラーでずっと取得ができなくなることがあります。
NicoBrowser を停止してしばらく待ってから起動しなおすとダウンロードが再開されます。
おそらく、連続アクセス制限のようなものに引っかかってしまうと思うのですが、
失敗したときの5秒ウェイトでは復帰ができないようなので、もっと長い時間を指定できたらなと考えています。
対応していただけるとうれしいのですが、いかがでしょうか。
投稿: | 2009/11/24 10:45
こんばんは。
実はそのような指摘は何回か受けていまして...
どうしたものかと考えているのですが、とりあえず、ウェイト時間が設定できるように、
というような対応を行いたいと思います。
ご指摘ありがとうございます。
投稿: 雪羽 | 2009/11/25 23:53
使ってみたのですが以下のようなログが出て動画のダウンロードはされませんでした。
Migration successful
2010-05-21 16:34:44,293 INFO - DBのアップデートが終了しました.
2010-05-21 16:34:44,294 INFO - program start
2010-05-21 16:34:44,294 INFO - リストを取得します
Exception in thread "main" java.lang.NoSuchMethodError: java.lang.String.isEmpty()Z
at nicobrowser.Config.getNicoFeeds(Config.java:295)
at nicobrowser.main.Main.start(Main.java:118)
at nicobrowser.main.Main.main(Main.java:85)
こちらの設定の問題なのでしょうか?もし可能なら教えてください。
使用環境はMac OS X 10.5.8です。
投稿: sal | 2010/05/21 16:49
salさんこんにちは。
該当のメソッドはJava6から導入されたもので、それが存在しない、というエラーになっている様です。
上記説明文に記載している通り、このプログラムはJava5以降で動作させるようにしていますので、
こちらのプログラムの問題ですね…見直してみます。
参考までに、MacOS X 10.5.8でのJavaのバージョンを確認したいのですが、
差し支えなければ以下の点を教えていただけないでしょうか。
・"Java Preferences" の "Javaアプリケーション" に表示されているJavaのバージョン
・java -versionコマンドを実行したときの出力
投稿: 雪羽 | 2010/05/23 13:44
雪羽さんへ
とても早いお返事ありがとうございます。
java preferenceのバージョンとjava -versionコマンドの出力を以下に記載します。
お手数かけますがよろしくお願いします。
・java preferenceのバージョン: 12.6.0
・java -versionコマンドの出力:
java version "1.5.0_24"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_24-b02-357-9M3165)
Java HotSpot(TM) Client VM (build 1.5.0_24-149, mixed mode, sharing)
投稿: sal | 2010/05/26 14:41
NicoBrowser使わせて頂いてます。使い易いツールで大変重宝しています。
既知の問題かもしれませんが、気がついたことがありましたのでご報告します。
有料の公式動画(soで始まるもの)を読みにいった際、以下のようなエラー出ます。
============
java.lang.IllegalArgumentException: java.lang.NullPointerException
at nicobrowser.VideoInfo.(VideoInfo.java:57)
at nicobrowser.NicoHttpClient.getVideoInfo(NicoHttpClient.java:492)
at nicobrowser.main.Main.start(Main.java:197)
at nicobrowser.main.Main.main(Main.java:84)
Caused by: java.lang.NullPointerException
at java.net.URLDecoder.decode(Unknown Source)
at nicobrowser.VideoInfo.(VideoInfo.java:40)
============
有料動画なのでダウンロードできなくて当たり前なのですが、
この後にダウンロードする動画が全て
「取得できませんでした. サーバが混みあっている可能性があります」
と標準エラー出力を返してダウンロードできなくなります。
有料動画のダウンロードエラー時に、うまくスキップできればよいのですが…
今後のバージョンアップの際にご一考下さい。
投稿: tk | 2011/02/26 11:26
tkさん、ご連絡ありがとうございます。
実は最近完全自動化してしまっていてエラーメッセージも碌に読んでいないので
ご連絡いただいた件は全く気付いていませんでした…
手が付けられそうなのが再来週以降になりそうなのですが、
再現させてみて対応を考えたいと思います。
投稿: 雪羽 | 2011/02/27 00:05
雪羽さん
コメントを読んで頂きありがとうございます。
読込条件を使って有料公式動画を回避すればよい話なので、
使用者が認識していれば当面は問題ないとは思います。
ご都合のよい時間に確認してみて下さい。
再現できない等の問題がありましたら、こちらも再度確認してみます。
投稿: tk | 2011/02/27 10:19
ダウンロード中のタイトルが表示されるとうれしいです。
投稿: | 2011/08/21 03:12
> ダウンロード中のタイトルが表示されるとうれしいです。
NicoBrowserRun.bat を使用して実行している場合には、NicoBrowser.logに実行ログが出ていますので、一応はそちらで確認することができます。
どうしても画面に出したい、ということであれば、
NicoBrowserRun.batをエディタで開いて8行目
java -jar NicoBrowser.jar 2>&1 >> %LOGFILE%
の部分を
java -jar NicoBrowser.jar
に書き換えることで、画面にログを出力することができます。
ただしこの場合、ログファイルには何も出力されなくなります。
ファイルに出力しつつ画面にも表示させることができるか、と言う点については調査してみます…
(Unixなら簡単なのですが)
投稿: 雪羽 | 2011/08/24 06:55
つい先程このツールの存在を知り、早速使わせて頂いております。
少し使ってみて思う所が幾つかありましたので書きこませて頂きます。
1つは、DLする動画の順序については変更できないのでしょうか?
現在はmylist/xxxxxxxxで投稿者が設定している並びの昇順になっているようですが、
それをこちら側で任意に「新しい順」や「古い順」、「マイリストが多い順」や「マイリストが少ない順」等と設定できればと思いました。
シリーズ物で『新しい順』だと、後ろからDLが始まってしまい、最初の方まで終わるのを待たなければならなかったものですから。
2つ目は、誤登録したマイリスト(動画ID)の削除についてです。
mylist.txtで例として記述のあるマイリストからDLしてしまい、Nicobrowserを終了後、txtから削除しても
次の起動後に登録されてある動画のDLが始まってしまうようでした。
DBに残っているのだと思いますが、どこから開いて削除すればいいかわからなかったので。
以上です。
投稿: nei | 2011/08/24 12:39
neiさん:
> 1つは、DLする動画の順序については変更できないのでしょうか?
深夜のサーバが空いている時間(寝てる間)に自動で…というのが元々の思想だったもので、こういった点については現状設定できないです…
> 2つ目は、誤登録したマイリスト(動画ID)の削除についてです。
ダウンロード予定の動画やダウンロードが完了した動画の履歴は
NicoBrowserSetting.vbs で起動した設定画面中の
「履歴DB」という欄に設定しているフォルダ内ファイル(DBファイル)に記録しています。
このフォルダの中に何個かのファイルがあると思うのですが、それらをすべて削除してもらえれば履歴は無くなります。
(削除はNicoBrowserを終了してから行ってください)
ただし、ダウンロード履歴もなくなりますので、すでにダウンロードしたものをfeedurl.txtやmylist.txtに記載したままにしておくと、再度ダウンロード要求することになります。
# 誤登録したものだけを削除するというのも、現状、原則不可能だとお考えください…
一応、RDB(SQL)の知識をお持ちでしたらピンポイントの修正ができますので、手順を記載しておきます。
(RDBMSサーバを手動で立ち上げているときはNicoBrowserの実行を行わないでください)
1.NicoBrowserのディレクトリにある lib/h2.batを実行するとRDBMSサーバが起動します(Windowsの場合。他のOSの場合はバッチに記載視されている内容と同等のコマンドを手入力)。
2.同時にWebブラウザが開き、サーバ接続画面が表示されます(表示されなければタスクトレイのH2アイコンから"H2 Console"を選択)。
この画面で、JDBC URLに
jdbc:h2:[履歴DBのパス]\nicodb (例:jdbc:h2:C:\Users\yukihane\.nicobrowser\db\nicodb)
と入力し、ユーザ名はsaのまま、パスワードも空欄のままで接続ボタンを押すとDBMSサーバにログインできます。
3.NicoBrowserが使用するデータはNICOCONTENTテーブルにありますので、不要な行があれば削除し、ログアウトしてください。
4.RDBMSサーバの終了は、タスクトレイのH2アイコンから"Exit"を選択してください。
投稿: 雪羽 | 2011/08/25 07:21
雪羽様、早速のレスありがとうございます。
DL順の指定は出来ませんでしたか。残念です。
2つ目の誤登録削除の手順ですが、全くSQL等の知識はなかったですが削除できました。ありがとうございました。
ただ、知識が無い故に基本的なところでちょっと躓きはしましたが。
>jdbc:h2:C:\Users\yukihane\.nicobrowser\db\nicodb (jdbc:h2:\nicodb)
ログイン画面で、括弧部分まで必要なのかと勘違いしたり、
>3.NicoBrowserが使用するデータはNICOCONTENTテーブルにありますので、不要な行があれば削除し、ログアウトしてください。
データベースの閲覧の仕方が分からなかったりしました。
(真っ先に+をクリックして展開し、中の『NICOID』を『実行』とかやっちゃってました)
それぞれ、
・JDBC URL欄には『jdbc:h2:』『履歴DBで設定しているフォルダのフルパス』『\nicodb』という構成で入力。
(デフォルトなら『jdbc:h2:C:\Documents and Settings\ユーザー名\.nicobrowser\db\nicodb』となる)
・DBの閲覧は『NICOCONTENT』を一度クリックして選択した後、『実行(Ctrl+Enter)』を押す。
と把握したので自己解決。
あとは『編集』を押して要らない行を×で削除と。
一応、私と同じ所で躓く人がいるかもわからないので念のため記述しておきます。
削除さえ出来れば途中までキャッシュ済みのシリーズのマイリストも気兼ねなくmylist.txtに記述出来ますね。
本当に有難いです。
投稿: nei | 2011/08/25 15:16
neiさん:
書いた文章碌に読み返していなかったせいで、お手間を取らせたようで申し訳ありません。
>> jdbc:h2:C:\Users\yukihane\.nicobrowser\db\nicodb (jdbc:h2:\nicodb)
> ログイン画面で、括弧部分まで必要なのかと勘違いしたり、
さすがにこれは問題があるので、過去改変になっちゃうのですが、コメントを修正しました…
投稿: 雪羽 | 2011/08/26 05:15
こんにちは、とあるweb上でNicoBroserのことを知り、ありがたく使わせてもらっている者です。
今までマイリスト保存機能だけを使っており、正常に動作していたのですが、
ランキングからの動画保存機能も使おうと思いNicoBrowserSetting.vbsファイルを通して
目的のランキングのRSSフィードのURLとダウンロード数を設定したのですが、
自分が設定したランキングには載っていない動画が次々とダウンロードされているようで
一体どういうことなのかな、と悩んでいるところであります。
プログラムなどの知識は殆どありませんが、素人なりにNicoBrowser.logを読んでみて
エラーが出ていそうな箇所はいくつか見つかったので、一応ここに載せておきます。
もしも単純なミス等なら申し訳ありません・・・
02:07:04,175 |-ERROR in ch.qos.logback.core.FileAppender[FILE] - openFile(nicobrowser.log,true) call failed. java.io.FileNotFoundException: nicobrowser.log (プロセスはファイルにアクセスできません。別のプロセスが使用中です。)
at java.io.FileNotFoundException: nicobrowser.log (プロセスはファイルにアクセスできません。別のプロセスが使用中です。)
の部分と
program start
リストを取得します
アクセスできません: http://www.nicovideo.jp/mylist/?rss=atom
今回取得したデータを過去の取得データと比較します
[TopLink Info]: 2011.12.04 02:07:06.943--ServerSession(32584881)--TopLink, version: Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))
[TopLink Info]: 2011.12.04 02:07:07.058--Not able to detect platform for vendor name [H2]. Defaulting to [oracle.toplink.essentials.platform.database.DatabasePlatform]. The database dialect used may not match with the database you are using. Please explicitly provide a platform using property toplink.platform.class.name.
[TopLink Info]: 2011.12.04 02:07:07.267--ServerSession(32584881)--
の部分の2つです。もしお時間が許すようでしたら、ご検討よろしくお願いいたします。
投稿: 藍上尾 | 2011/12/04 02:56
無くて不便している機能
・ 保存ファイル名の変換文字を個別にマッピングする機能
複数の「置換対象文字」に対して「この文字に置換」が1つしかありません。これにより、Nicocacheとの連携が阻害されているようです。
Nicocacheだと半角記号系は同義の全角記号に変換しれくれるので。
・ 「プロキシ使用」が使用できない
指定してもコンフィグ画面で「保存」を押下した時点で無効にされてしまいます。
プロキシ自体はブラウザでも使用している有効なものです。
ログも出ないのでお手上げです。
・指定したマイリスト、フィードに対して個別に設定を適用する機能(特に「エコノミー動画をダウンロードする」)
時間限定で公開されている動画を扱うマイリストはlowであってもとりあえずダウンロードしたい、でも削除されにくい長期連作動画のマイリストではlowは要らない、など。
・ 設定ファイルの保存場所を指定する機能
Usersフォルダから動かせないものが多すぎで、複数起動ができません。ついでにバックアップも面倒です。
相対パスで指定する場所に置けるなら、自前で設定ファイルの使い分けが出来たのですが。
投稿: | 2012/03/11 19:43
藍上尾さん、こんばんは。
もうコメント頂いてからずいぶん時間が経ってしまっていますが…
> 自分が設定したランキングには載っていない動画が次々とダウンロードされているようで
> 一体どういうことなのかな、と悩んでいるところであります。
現状では、一度誤った設定を行って実行すると、その情報が内部のデータベースに登録されていまいます。
その後設定を変更しても登録された情報が削除されるわけではありませんので、そのような状況になっているのではないかと考えます。
一番簡単な解決法は、取り敢えず処理が終わるまで実行してしまう、ということが挙げられます。
現状の設定内容が正しく想定通りになっているのであれば、以降は不要なファイルまで取得するような動作にはなりません。
あるいは、ユーザディレクトリ(Windows7であれば C:\Users\名前 など。エクスプローラで %HOMEPATH% と入力すれば開けると思います)にある、
.nicobrowser\db ディレクトリを、ディレクトリごと削除、または移動させてしまうことでデータベースの登録内容が破棄されます。
ただし、これは過去の取得情報も失われてしまうことになります。
SQLを使うことができるのであれば、下のコメントに書いてある方法で特定の情報のみを削除することができますが、手順が面倒になります。
投稿: 雪羽 | 2012/03/17 19:15
http://feather.cocolog-nifty.com/weblog/2009/11/nicobrowser---f.html#comment-69595592
への返信です。
> 保存ファイル名の変換文字を個別にマッピングする機能
NicoCacheにはそういった機能もあるんですね。
現時点ではNicoCacheの仕様が分からないのですが、折を見てソースコードを覗いてみたいと思います。
> 「プロキシ使用」が使用できない
これが本当だとすると問題ですね…書かれている中では一番に確認し、対応が必要であればそのようにしたいと思います。
> 指定したマイリスト、フィードに対して個別に設定を適用する機能(特に「エコノミー動画をダウンロードする」)
新機能を追加する際に、案の1つとして検討したいと思います。
> 設定ファイルの保存場所を指定する機能
設定ファイルの保存場所を変えられるようにする、というのは確かにあっても良い機能だとは思います(内部的には既に実装済みの機能だったと思います)。
が、ニコニコ動画サービスのアクセス制限などを考えると(すみません、最近の流れには追い付いていないのですが、緩和されたりしてるんでしょうか)、あまり複数起動に意味は無いかと。
投稿: | 2012/03/17 19:34
藍上尾さん:
書き忘れていました…
> プロセスはファイルにアクセスできません。別のプロセスが使用中です。
については、バッチファイルに誤りがありました。
NicoBrowserRun.bat をテキストエディタで開いていただいて、8行目
java -jar NicoBrowser.jar 2>&1 >> %LOGFILE%
となっているところを、
java -jar NicoBrowser.jar
として保存してもらえれば解消します。
2点目のエラーログについては、それで正常です(設定によってそのようなログが出る場合があります)。
『 「プロキシ使用」が使用できない』について:
こちらで実行してみましたが、設定は正常に保存され、設定内容通り動作しているようです。
投稿: 雪羽 | 2012/03/17 20:32
この前ランキングからの動画保存に関して質問した者です。
ご対応いただき、大変感謝しております、ありがとうございます。
返事がかなり遅くなってしまい、申し訳ございません…
投稿: 藍上尾 | 2012/05/24 02:10
こんばんは、NicoBrowser使わせてもらってます。
今まで使っていたのになぜだかエラーが出たのでおかしいなと思っていろいろやってみました。
結果、NicoBrowserでniconicoへ再ログインのしすぎということでロックされていたことが原因でした。
ロックされていても動画は普通に見れていたので気が付きませんでした。
対処法としては一回ログアウトし、ロック解除申請をし、再度ログインをすることで出来ました。
同じような悩みで困っている人がいると思われたので、書かせていただきました。
報告失礼しました。(既出でしたらすいません。)
投稿: mapida | 2012/11/21 04:05