Youtube-dlを使用して、特定のユーザーまたはプレイリストのyoutube動画のdate-wise downloadを実行できますか?
たとえば、今週にユーザーXがアップロードしたすべての動画をダウンロードします。
開始日と終了日が指定されたチャンネル/ユーザー/プレイリストからのYouTube動画のダウンロードの提供を探しています。
はい。 youtube-dlのmanページから:
--date DATE
Download only videos uploaded in this date
--datebefore DATE
Download only videos uploaded on or before this date (i.e. inclusive)
--dateafter DATE
Download only videos uploaded on or after this date (i.e. inclusive)
そこには記載されていませんが、コードには隠されていますが、DATE
はYYYYMMDD
または(now|today)[+-][0-9](day|week|month|year)(s)?
の形式であるため、たとえば2016年8月17日は20160817
になります。 7日前はnow-7days
またはnow-1week
になります。
--datebefore
と--dateafter
を一緒に使用して範囲を指定できます。
youtube-dl -i --dateafter 20160808 --datebefore 20160810 https://www.youtube.com/channel/CHANNEL
2016年8月8日から8月10日までの間にアップロードされたチャンネルからすべての動画をダウンロードします。
youtube-dl -i --dateafter now-1week https://www.youtube.com/playlist?list=PLAYLIST
過去1週間にアップロードされたプレイリストからすべての動画をダウンロードします。
-i
オプションは、一部のビデオが利用できない場合にyoutube-dl
が途中で終了するのを防ぎます。
注youtube-dl
は、ダウンロードしていなくても各ビデオをダウンロードしていると言います。例えば:
[download] Downloading video 1 of 123
[youtube] xxxxxxxxxxx: Downloading webpage
[youtube] xxxxxxxxxxx: Downloading video info webpage
[youtube] xxxxxxxxxxx: Extracting video information
[youtube] xxxxxxxxxxx: Downloading MPD manifest
[download] 2016-08-07 upload date is not in range 2016-08-08 - 2016-08-10
[download] Downloading video 2 of 123
...