プログラミング

youtube-dlでニコニコ動画をダウンロードする

youtube-dlでニコニコ動画をダウンロードする方法について紹介します。

ニコニコ1年ぶりに開きました。全然変わってないですね。

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_c60e249f-2e5c-4670-bb0d-c2f9d6976de7.png

ニコニコは他のサイトと違って一筋縄ではいきませんでした。

なんか、ERROR: unable to download video data: HTTP Error 403: Forbiddenエラーが出てしまう。

As a workaround, I recommend you to tried re-downloading the video for multiple
times until it succeeds.

[niconico] Downloading long videos requires heartbeat signals · Issue #14582 · ytdl-org/youtube-dl
Unable to download from nicovideo.jp · Issue #19261 · ytdl-org/youtube-dl

解決策としては、一時的な対処ですが、以下のスクリプトでいけます。cookie_niconico.txtにはクッキー入れてください。

ydlNiconico(){
    LC_ALL=en_US.UTF-8 \
    youtube-dl -i -v \
    -o "/mnt/e/_videos/_youtube_dl/_niconico/%(id)s--%(title)s--%(uploader)s.%(ext)s" \
    --cookies /home/data/youtube-dl/cookie_niconico.txt --download-archive /home/data/youtube-dl/archive.txt \
  --embed-subs --embed-thumbnail --write-info-json --all-subs --sub-format srt \
    "$(cuturlquerystr "$1")"
}

while [[ true ]]; do ydlNiconico "https://www.nicovideo.jp/watch/sm34815188" && break || continue ; done
while [[ true ]]; do ydlNiconico "https://www.nicovideo.jp/watch/sm34815188" && break || continue ; done
while [[ true ]]; do ydlNiconico "https://www.nicovideo.jp/watch/sm34774763" && break || continue ; done
while [[ true ]]; do ydlNiconico "https://www.nicovideo.jp/watch/sm34793993" && break || continue ; done
while [[ true ]]; do ydlNiconico "https://www.nicovideo.jp/watch/sm34825830" && break || continue ; done
while [[ true ]]; do ydlNiconico "https://www.nicovideo.jp/watch/sm34800010" && break || continue ; done

みたいに並べて実行してやれば楽ですね。

今気づいたけどuntilのほうが楽ですね。

until ydlNiconico "https://www.nicovideo.jp/watch/sm34804284"; do :; done

関連記事:

yt-dlpでyoutube-dlでエラーになる動画もダウンロード
youtube-dlでニコニコ動画をダウンロードできない場合に見てほしい
youtube-dl SSL certificate verify failedエラーの対処法
youtube-dlコマンドの使い方・オプションの解説
youtube-dlを使いVLCで動画をストリーミング再生
streamlinkでYoutube動画をVLCでストリーミング再生

関連広告:

Pythonコース by テックアカデミー
Pythonコース by Udemy

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です