根据日期从 youtube 播放列表或用户下载视频

Jay*_*dev 2 youtube downloads youtube-dl

我可以使用 youtube-dl按日期下载特定用户或播放列表的 youtube 视频吗?

例如 - 下载本周用户 X 上传的所有视频。

寻找提供从具有开始日期和结束日期的频道/用户/播放列表下载 youtube 视频的条款。

Mar*_*ton 7

是的。从 youtube-dl 手册页:

--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)
Run Code Online (Sandbox Code Playgroud)

那里没有说明,而只是隐藏在代码中,DATE格式是YYYYMMDDor (now|today)[+-][0-9](day|week|month|year)(s)?,例如 2016 年 8 月 17 日是20160817,7 天前是now-7daysnow-1week

您可以使用--datebefore--dateafter一起指定范围,因此:

youtube-dl -i --dateafter 20160808 --datebefore 20160810 https://www.youtube.com/channel/CHANNEL
Run Code Online (Sandbox Code Playgroud)

将从 2016 年 8 月 8 日至 8 月 10 日(含)之间上传的频道下载所有视频,并且:

youtube-dl -i --dateafter now-1week https://www.youtube.com/playlist?list=PLAYLIST
Run Code Online (Sandbox Code Playgroud)

将从上周上传的播放列表中下载所有视频。

-i选项防止youtube-dl如果某些视频不可用,过早退出。

Noteyoutube-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
...
Run Code Online (Sandbox Code Playgroud)