gpt4 book ai didi

youtube-dl - 为什么在bilibili上用youtube-dl只能下载第一集视频?

转载 作者:行者123 更新时间:2023-12-03 18:40:18 25 4
gpt4 key购买 nike

我可以下载系列的第一集。

 yutube-dl  https://www.bilibili.com/video/av90163846?p=1 

现在我想下载该系列的所有剧集。
for i in $(seq  1  55)
do
yutube-dl https://www.bilibili.com/video/av90163846?p=$i
done

除了第一集之外的所有其他剧集都无法下载,它们都包含相同的错误信息,如下所示:
[BiliBili] 90163846: Downloading webpage
[BiliBili] 90163846: Downloading video info page
[download] 【合集300集全】地道美音 美国中小学教学 自然科学 社会常识-90163846.flv has already been downloaded

请尝试检查会发生什么,然后如何解决?
@Christos Lytras,你的代码发生了奇怪的事情:
for i in $(seq  1  55)
do
youtube-dl https://www.bilibili.com/video/av90163846?p=$i -o "%(title)s-%(id)s-$i.%(ext)s"
done

bilibili是可以下载视频的,但是所有下载的视频名称不同,内容相同,所有内容都和第一集一样,试试看,你会发现这个事实。

最佳答案

发生此错误的原因是 youtube-dl忽略 ? 之后的 URI 参数对于文件名,因此它尝试下载的下一个文件与前一个文件具有相同的名称,并且失败,因为已存在具有该名称的文件。解决方法是使用 --output模板文件系统选项来设置一个文件名,它会使用变量 i 在其名称中包含一个索引。 .

Filesystem Options

-o, --output TEMPLATE            Output filename template, see the "OUTPUT
TEMPLATE" for all the info

OUTPUT TEMPLATE

The -o option allows users to indicate a template for the output file names.

The basic usage is not to set any template arguments when downloading a single file, like in youtube-dl -o funny_video.flv "https://some/video". However, it may contain special sequences that will be replaced when downloading each video. The special sequences may be formatted according to python string formatting operations. For example, %(NAME)s or %(NAME)05d. To clarify, that is a percent symbol followed by a name in parentheses, followed by formatting operations. Allowed names along with sequence type are:

id (string): Video identifier
title (string): Video title
url (string): Video URL
ext (string): Video filename extension
...



对于您的情况,请使用 i在输出文件名中,您可以使用以下内容:
for i in $(seq  1  55)
do
youtube-dl https://www.bilibili.com/video/av90163846?p=$i -o "%(title)s-%(id)s-$i.%(ext)s"
done

这将使用 title id i用于索引和 ext 的变量用于视频扩展。

您可以查看 Output Template定义文件名的更多选项的变量。

更新

显然,bilibili.com 使用了一些 Javascript 来设置视频播放器和获取视频文件。您无法使用 youtube-dl 提取整个播放列表。 .我建议你使用 Annie其中 supports Bilibili playlists盒子外面。它具有适用于所有主要操作系统的安装程序,您可以像这样使用它来下载整个播放列表:
annie -p https://www.bilibili.com/video/av90163846

如果你只想下载到55个视频,你可以使用 -end 55像这样的 cli 选项:
annie -end 55 -p https://www.bilibili.com/video/av90163846

You can use the -start, -end or -items option to specify the download range of the list:

-start
Playlist video to start at (default 1)
-end
Playlist video to end at
-items
Playlist video items to download. Separated by commas like: 1,5,6,8-10

For bilibili playlists only:

-eto
File name of each bilibili episode doesn't include the playlist title


如果您只想获取播放列表的信息而不下载文件,请使用 -i像这样的命令行选项:
annie -i -p https://www.bilibili.com/video/av90163846

将输出如下内容:
 Site:      哔哩哔哩 bilibili.com
Title: 【合集300集全】地道美音 美国中小学教学 自然科学 社会常识 P1 【001】Parts of Plants
Type: video
Streams: # All available quality
[64] -------------------
Quality: 高清 720P
Size: 308.24 MiB (323215935 Bytes)
# download with: annie -f 64 ...

[32] -------------------
Quality: 清晰 480P
Size: 201.57 MiB (211361230 Bytes)
# download with: annie -f 32 ...

[16] -------------------
Quality: 流畅 360P
Size: 124.75 MiB (130809508 Bytes)
# download with: annie -f 16 ...


Site: 哔哩哔哩 bilibili.com
Title: 【合集300集全】地道美音 美国中小学教学 自然科学 社会常识 P2 【002】Life Cycle of a Plant
Type: video
Streams: # All available quality
[64] -------------------
Quality: 高清 720P
Size: 227.75 MiB (238809781 Bytes)
# download with: annie -f 64 ...

[32] -------------------
Quality: 清晰 480P
Size: 148.96 MiB (156191413 Bytes)
# download with: annie -f 32 ...

[16] -------------------
Quality: 流畅 360P
Size: 94.82 MiB (99425641 Bytes)
# download with: annie -f 16 ...

关于youtube-dl - 为什么在bilibili上用youtube-dl只能下载第一集视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60506532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com