Skip to content
Notifications You must be signed in to change notification settings

darthlain/nicodl_release

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8745380 · Dec 9, 2024

History

62 Commits
Dec 9, 2024
Dec 9, 2024
Dec 9, 2024
Dec 9, 2024
Dec 9, 2024
Dec 9, 2024

Repository files navigation

ニコニコDLのためのツール
動画DL部分はyt-dlpに完全に委託している

[*忠告* ここの創作物を使っていかなる損害(アカウントBAN、データ消滅等)が発生しても当方は一切の責任を負いかねます]

2024/12/09_2
・かなり大掛かりな改修をしました 不具合でるかも
・クリップボード関係で非同期処理を導入しました 快適になったかも
・is_dl_prompt_err_msg(初期値false)を追加
  URL入力の際に誤った入力をした場合の詳細なエラーメッセージを出すかどうか
  クリップボードモードのために導入

2024/12/09
・極々稀に特定の動画のコメントDLが必ず失敗する問題の修正
・クリップボードモードが使えないことがある原因がわかったのでちょっとした対処

2024/12/04_2
クリップボードモード後にnicoを選択してもDLできなかったのを修正

2024/12/04
クリップボード機能が機能してないのを修正?

2024/12/01 (更新なし)
面白い事象を見つけたので紹介
https://www.nicovideo.jp/watch/sm43780014
この動画をDLするとファイル名が全部逆になります
見た目だけらしいです 動画タイトルにそういうunicode制御文字が仕込まれてるのが原因らしいです
ファイル検索以外では実害はないと思います
この件に関する修正はまずないです

2024/11/29
・個人的なデバッグ関係のファイルパス変更のみ 機能は一切変更なし

2024/11/22
・起動後に簡単コメントや過去ログをDLするかどうかのコマンドや確認を追加
・url集めるときにhttpを集めていたのをhttpsに統一するように
・aコマンドに機能追加 vid: メインに戻る eo: クリップボードモード切り替え
  動画DL切り替え: h コメントDL切り替え: t 過去ログDL: j 簡単コメDL: p

  (クリップボードモード時の処理に非同期処理は考えましたがデスマったり
   謎のバグで困るのはいやなので…)

特に変更はありませんがcommant_mailとcomment_passは非推奨ということにして
一切の改善をしないこととします
user_sessionをブラウザから抜き取ってご使用ください
別に撤去はしませんし以前と同じように使えると思いますが

2024/11/20
・謎のバグでクリップボード機能が壊れていたのを修正
・デフォルトのyt_dlp_pathに --no-mtimeを追加
  (yt-dlpはデフォルトでファイルの日付を動画投稿時に書き換えるのだが
   このオプションはそれを無効にする)

作者のモチベがないためGUIはつくらないと思います
その他の大掛かりなアプデもないと思います
現時点で個人的には十分なのです
DLができなくなったら対応すると思います

2024/10/03
・9/30のアプデでDLできなくなるバグを修正

2024/09/30
・ちょっと取るに足らない修正
・動画DLとコメントDLを可変するコマンド追加

GUI作ると思いますがまだ何もやってません

2024/09/23
・公式動画のシリーズページから動画URLを取れるようにしました
  (nicovideo.jp/seriesという形式
   普通のユーザーのシリーズもこの形式でリダイレクトするのですが
   ページから情報を得ないと見分けがつかないのがめんどいので
   現状はこの形式は公式動画のものとして扱うことにします)

・ログイン処理に失敗したらuser_sessionでログイン可能だったものができなくなる問題の修正
・'nicovideo.jp/mylist' のような形式のURLを正しく読めるように修正

アプデ予定
・やっぱりGUI作ると思う ただ動画の管理とかは考えていません
・フォルダを読んでファイル名の動画idからコメントを取得する機能に
  動画のファイル名にコメントファイル名を合わせるオプションをつける
・2段階認証の対策

アプデするかも
・レジューム機能 (主にwindowsのアップデートのせいであったほうが良いだろうと思った)


2024/09/21
・オプションのbool値関係の改善

2024/09/20
・起動時のバージョン表示(日付)
・is_kantanのオプション追加 かんたんコメントを取るかどうか デフォルトはfalse(無効)
  ちなみにそれまでのバージョンではかんたんコメントは単に無視していました
・起動時のcomment_mailとcomment_passに目隠し効果
・ログイン処理をコマンドで手動でするようにしました
・ログイン状態にあるかどうかを確認できるようにしました
・nicodl_user_session.txtを廃止 nicodl_option.jsonに移りました
・その他細かい修正

2024/09/12
コメント過去ログ取得に対応

どうやら2段階認証設定しているとログインできないみたいです
現状ではブラウザからF12でuser_sessionをコピーして
nicodl_option.jsonにコピーするのが良いと思います

…
専用ブラウザを起動してログインして貰う方法が楽だと思ったので調べてみるつもり

あと動画URLの範囲等の指定をできるようにしたいと思っています
たぶんテキストエディタにコピーして整形した後に
それをまたコピーして貼り付ける方法になると思います


・設定
yt-dlp.exeはPATH設定するかexeと同じ場所に置くか設定にパスを書いて下さい

オプションファイルはexeと同じ場所のnicodl_option.jsonです
文字コードはutf-8です

# オプションファイルの例
{
"dl_dir": "C:/nicovideo",            # 動画のダウンロードフォルダ
"yt_dlp_path": "C:/tool/yt_dlp.exe", # yt-dlpの.exeへのパス yt-dlpのオプションもここに書いて下さい
"comment_mail": "",                  # アカウントのメールアドレス
"comment_pass": "",                  # アカウントのパスワード
"user_session": "",                  # ブラウザから取得できるuser_session, mail passとはどちらかさえあればいい
"is_video": "",                      # 動画をDLするかどうか bool
"is_comment": "",                    # コメントをDLするかどうか (この設定はフォルダのファイルのIDを読み込むやつには適応されない) bool
"is_kakolog": "true",                # 過去ログをDLするかどうか bool
"is_kantan": "false",                # かんたんコメントをDLするかどうか bool
"comment_fileformat": "*title* [*id*][*comment_num*コメ].xml", # コメントファイル名の書式
"end_presswait": "true"              # 完了後にキー待ちをする bool
"is_dl_prompt_err_msg": "false"      # URL入力の際に誤った入力をした場合の詳細なエラーメッセージを出すかどうか
}


・ログイン方法は今のところ2つあり
comment_mail comment_passを埋めて毎回コマンドでログインする方法
ブラウザからuser_sessionを抜き出して使用する方法があります

ブラウザのuser_sessionはいつ切れるかわかりませんが更新しなくてもかなり長い間使えるっぽいです
(おそらくログアウトするまで?)

mail passだと毎回ログインする必要があるらしいです

user_sessionはnicovideo.jpページを開きログインした後F12を押してストレージやcookie等の欄にあると思いますが
詳しくは [<ブラウザ名> F12 cookie] などで検索して下さい


・ファイルパスの¥(バックスラッシュまたは円記号)は/(スラッシュ)かバックスラッシュ2つに変換してください
jsonはバックスラッシュ1つだけだとエラーになります

・bool値はtrueかfalseでyes noの意味になります すべて小文字です
(型は文字列型でもboolean型でもOKです)

・何も書かなければデフォルトの良さげな設定になります

・comment_mailとcomment_passはコメント取得にのみ適応されます
もしプレミアムの動画をDLしたい場合はyt_dlp_pathに設定を書いて下さい
オプションについては↓URLの[USAGE AND OPTIONS]参照
例えばログインしたければ "yt_dlp_path": "yt-dlp -u メールアドレス -p パスワード"

・現在自分が使っているyt-dlp
https://github.com/yt-dlp/yt-dlp

・過去ログDLは大量のコメントがある場合かなり遅くなります
過去ログを取らない設定の場合は一回のPOSTで済むため非常に高速です

・コメント数と実際に取得されてるコメントの数が合わない場合
大抵は削除されたコメントがあるか(これが結構かなりの数ある)
かんたんコメントを取得するかどうかが関係している可能性が高いです


ファイルを削除するようなコードは書かないようにしているのでそこは大丈夫だと思います
フォルダ内を[0コメ]と検索すればコメントを取れなかった動画がわかると思います
コメント取得のアルゴリズムとかはあやふやですが多分大丈夫かなって感じです
GUIを作る気はないです

everythingというソフトおすすめです
PCの全領域からファイルを検索できます
動画ファイルの存在確認に便利です
Commeonにファイルをドラッグドロップしたり

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages