再生リストの一部であるバッチの最初から最後までYouTubeビデオをダウンロードする


10

YouTube動画はスタンドアロンで視聴することも、プレイリストの一部にすることもできます。
例:
https : //www.youtube.com/watch?v=vbsNiOkm0BU および
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA

パーツに注目してくださいvbsNiOkm0BU

問題は、チャンネル/再生リストのすべての動画でこの部分を取得することです。

動機は、このチャネル(約3600)のすべてのビデオをダウンロードすることです。しかし、私はyoutube-dl一度にすべてをダウンロードすることに成功していません。
例として、100単位でダウンロードしたいと思います。

この質問をさらに進めることができる場合、プレイリストの特定のインデックスのみをダウンロードするbashスクリプトを記述できますか?

上記のリンクが表示された場合:
https : //www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=
UUmM7KPLEthAXiPVAgBF6rhAパーツに注意してください&index=141

今、このようなことをすると:

for i in {100..200}
do
youtube-dl https://www.youtube.com/watch?v=vbsNiOkm0BU&index=${i}&list=UUmM7KPLEthAXiPVAgBF6rhA
done

パーツに注目してください&index=${i}

が原因で、同じ動画が何度もダウンロードされていvbsNiOkm0BUます。

これに関するどんな助けでも大歓迎です。ありがとうございました。

回答:


14

プレイリスト

youtube-dl -f FORMAT -ciw --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>  

... <url-of-playlist>は、プレイリストのURLで置き換えFORMATられます。使用可能なビデオ形式で置き換えます。たとえば18NUMBER-STARTは、最初にダウンロードを開始するプレイリスト内のビデオNUMBER-ENDの番号、最後にダウンロードするプレイリスト内のビデオの番号です。 。

チャネル

チャンネルに複数の再生リストがある場合は、最初の再生リストをクリックし、上記のコマンドを使用して、選択した再生リスト内のすべての動画をダウンロードします。次に、チャンネルの各プレイリストについて繰り返します。

説明

-f, --format FORMAT
    video format code. The -F option (capital F) displays all available video  
    formats for a video link. Example: youtube-dl -F <url-of-video>

-c, --continue                   
    force resume of partially downloaded files

-i, --ignore-errors              
    continue on download errors, for example to skip unavailable videos  
    in a channel   

-w, --no-overwrites
    do not overwrite files 

すべてのビデオタイトルを小文字に変換する

youtube-dl -f FORMAT -ciw --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>     
find -type f -exec rename 'y/A-Z/a-z/' {} +

説明

--output '%(title)s.%(ext)s'  
    output file name(s) as the name of the video, followed by a dot character and the video's extension  

find -type f 
    Find all files.

y/source/destination/  
    Transliterate the characters in the pattern space which appear in source   
    to the corresponding character in destination.

ありがとうございました!うまくいきました!あと1つだけ質問ですが、ダウンロード中にすべてのビデオタイトルを小文字に変換できますか?のような形式を指定できます--output "%(title)s"。小文字に変換できますか?
Rishiraj Surti 16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.