youtube-dl对于bilibili列表下载不支持。
实际上,bilibili普通视频与播放列表,其url在入口处没有分别,因此以url做区分,不行。
但若有教程类列表,其中视频后以?p=1表示,比如:

这大概是最好的C#入门教程了吧
https://www.bilibili.com/video/av2357992/?p=1

根据此特征,设计其内置列表表达式,得列表如:
bl_p1.png
但youtube-dl对此解析取cid有问题,我已做反馈,至此时尚无回音。
BiliBili列表下载同一个视频问题分析

2019.05.31:好吧,我也等不及了,自己编译youtube-dl_cr.exe,这个是为bilibili及其它中国网站而特别编译的。
1、下载crtubeget.rar,解压
2、下载youtube-dl_cr.exe,丢入crtubeget目录中,即可实现bilibili的列表下载
注:v0.9.1.9版,遇到此种情况,自动下载此组件
它的文件描述是:YouTube video downloader for CR TubeGet
bilibili.png

然后再下载列表视频,如下图:
bilibili download.png
下载结果,是想要的:
bilibili downloaded.png



还有一类是记录片。
比如:

深入大脑:第1集_纪录片_bilibili_哔哩哔哩
https://www.bilibili.com/bangumi/play/ep275928

它将被解析为Watch列表。而另种形式,直接解析为播放列表:

深入大脑 _ 纪录片 _ bilibili _ 哔哩哔哩弹幕视频网
https://www.bilibili.com/bangumi/media/md28220253

解析如下:
documentary.png



第三种就是搜索结果。
今天突然对清江画廊有点兴趣,就搜索一把:

https://search.bilibili.com/all?keyword=清江画廊

以此写解析式,得结果如下:
bl_p2.png
非常不错。一键下载,可以慢慢欣赏了~
pl_3.png



还有一种情况是,视频是分段的,也以列表处理。
注:此问题,在v0.9.2.0中已解决,分片视频被完全下载为单一文件。
比如:https://www.bilibili.com/video/av17558564
以youtube-dl下之,其显示如下:
bipl.png
CR TubeGet亦对它做列表处理。
因为分段视频地址与普通视频地址格式一样,判断是否列表需要请求其页面源码解析,耗时一点,因此默认没有设置,而以配置文件开关实现。
使用此功能,需要在配置文件中加个开关:
请定位到%appdata%\CRTubeGet文件夹,在CRTubeGet.ini之[Download]节中,加入如下字段:

[Download]
ParseBiliBiliPlaylist=True

之后启动程序。
那么,在解析上述url时,它将以列表解析:
bipl_2.png
OK,它将被完全下载。
pl_downloaded.png
不完美的是,它显示的视频时间,是整个视频的,目前没法拿到视频片段时间。

標籤:none

已有 52 條評論

  1. Shucai1997 Shucai1997

    QwQ现在都用不了了,咋弄?

    1. Shucai1997 Shucai1997

      下载列表视频,老会停留在“列表加载中”

      1. 现在可以了吗?2019.07.02我用上面例程中URL解析,可以得其列表。或者,你重新获取CR TubeGet程序再试

        1. Shucai1997 Shucai1997

          嗯嗯,问题已经解决了,非常感谢

          1. 甚好。版本更新,亦加入程序版本比较

        2. 游客_0000 游客_0000

          同样遇到停留在“列表加载中”,用了上述给出的C#视频中的URL也无法成功下载。日期:2019.7.3.重新获取程序与youtube-dl_bl.exe文件也如此。希望能够解决,谢谢。

          1. 多谢反馈!
            取缩略图扩展名导致的BUG。v0.9.1.5已解决并推送,请及时更新

  2. omega13a omega13a

    I use Linux. Can this fix be ported over to Linux?

    1. Sure. You can modify bilibili.py file, please visit: https://github.com/ytdl-org/youtube-dl/issues/20555

  3. 下载59分钟的视频,只有44.04M大小只能看6分17秒

    1. 此URL:https://www.bilibili.com/video/av27132412它实际为切片列表,分10片。
      请参见文章最后一种情况,改配置参数对它进行列表下载

  4. 游客 游客

    您好,在B站列表视频下载过程中,常常从刚打开软件时下载速度几M/s,逐渐变为几百K/s,多次重启软件及电脑均无效,故来咨询是网速问题还是其他问题,谢谢。

    1. 网速问题,或者B站有啥限制。程序本身,没有对速度做处理

  5. ABC ABC

    您好,我控制台那一步弄完了然后打开软件,它没有进行列表处理,是字段加错了吗?
    #工程配置文件
    [Download]
    ParseBiliBiliPlaylist=True
    DownloadPath=E:\CRTubeGet Downloaded
    VideoFormat=Default
    VideoQuality=Default
    MaxTaskCount=5
    DownloadThumbnail=False
    ShowDownloadCompleteTip=True
    ShowRemoveTip=True
    ResumeOnStartUp=False

    1. 字段没加错。B站很少部分视频,是分段处理,分为6分钟左右的片段。请确认,所用版本为最新的v0.9.1.5版,最好从CR TubeGet页重新下载

      1. ABC ABC

        问题解决了,是我没下最新版本。。。。。

  6. ABC ABC

    用CR TubeGet,它不做分段处理,视频不完整。用控制台下载,视频完整,但是,它直接下载到根目录下,我在软件中设置了路径,是哪里出了问题。

  7. Shucai1997 Shucai1997

    [Download]
    DownloadPath=G:\CRTubeGet Download
    VideoFormat=Mp4
    VideoQuality=vq1080P
    MaxTaskCount=5
    ParseBiliBiliPlaylist=True
    DownloadThumbnail=False
    ShowDownloadCompleteTip=True
    ShowRemoveTip=True

    我是哪里设置出了问题了吗?真的用的非常糟心,分段分段老是会漏段,12分钟的视频下到最后只剩下8分钟左右,分段下载然后分段转换我能理解,无非就是为了提高效率。但我想如果出现这样的情况,还不如像老版本那样,整个下载下来然后再整个进行转换,我下视频一般也不用电脑。能不能加入这个选择功能,就是可以选择是分段下载还是整段下载?

    1. 设置没有问题。老板对分段视频,只能下载第一片。有问题的视频URL,请同时也用youtube-dl做下验证。请研究下youtube-dl+ffmpeg,没有整不了的

  8. 我按照文章最后一段字符试了很多次了,换了不同的姿势,但是都没有用
    [Download]
    ShowRemoveTip=False
    VideoFormat=Default
    VideoQuality=Default
    MaxTaskCount=5
    DownloadThumbnail=False
    ShowDownloadCompleteTip=True
    ShowRemoveTip=False
    [Download]
    ParseBiliBiliPlaylist=True
    ShowRemoveTip=False
    DownloadPath=F:\CRTubeGet Download
    VideoFormat=Default
    VideoQuality=Default
    MaxTaskCount=1
    DownloadThumbnail=False
    ShowDownloadCompleteTip=False

    1. 1、一个[Download]标签即可,并去除重复项;2、请保证CR TubeGet为最新v0.9.1.5版;3、可用youtube-dl命令行验证URL是否为列表

      1. 我把软件重新安装,虽然下载是全部视频,但是仍然是分段的对吗?

        1. 是这样的:如果是分段视频,那么粘贴单个URL,它以列表下载;如果是列表中的视频是分段的,那么,它只下载每个视频的第一段

  9. bing bing

    依然下载不了整个bilibili的视频列表 https://space.bilibili.com/217691703

    1. 稍后我验证下
      --
      2019-07-17:未对此类URL做列表支持。其主页中,视频类型复杂。若您需要,可以自行修改程序目录下pl_pattern.xml文件,做列表匹配支持。此扩展功能,需要一定的正则表达式支持

  10. guang guang

    非常棒的软件,感谢作者。
    另外想请问下,https://www.bilibili.com/video/av13576025/?p=1
    1. 我拖放下载得到的是480清晰度的视频,如何下载到720p清晰度的?
    2. 下载不完全,15分13秒的,只下载到3分33秒,如何下载完整

    设置中已设置:视频格式/默认;清晰度/720p
    网站已登录会员,网页上可以看到1080p清晰度
    CRTubeGet.ini:

    #工程配置文件
    [Update]
    UpdateUrl=http://www.cr-soft.net/go.php?m=update&pid={0}
    AppExeName=CRTubeGet.exe
    CurrVersion=0.9.1.9
    SkipedVersion=0.0.0.0
    LastUpdateTime=2019/8/13 11:04:33
    [Download]
    ParseBiliBiliPlaylist=True
    DownloadPath=D:\CRTubeGet Downloaded
    VideoFormat=Default
    VideoQuality=vq720p
    MaxTaskCount=5
    AddPlaylistIndex=True
    DownloadThumbnail=False
    ShowDownloadCompleteTip=True
    ShowRemoveTip=False
    [Subtitle]
    Enabled=False
    Lauguage=Default
    SubtitleType=Default
    [System]
    OnlineUrl=https://www.youtube.com
    TaskCompleteOperation=Nothing
    AdvanceMode=False
    WatchClipboard=False
    ResumeOnStartUp=True
    AutoUpdate=True
    CloseToTrayIcon=False
    [Proxy]
    Enabled=False
    Type=SOCKS5
    Host=
    Port=1080

    1. 您好!YouTube网站之外的视频,youtube-dl尽可能捡好的下载,但不一定能下载到最高的,此系youtube-dl不能面面俱到所至。
      下载视频时长不够的,可能遇到了分片视频,在ParseBiliBiliPlaylist=True已设置情况下,尝试下载单个的。如果以列表下载,则没了单个视频列表的选择可能,此为目前我没想到更好方法的情况

      1. guang guang

        感谢您的回复。
        清晰度那个问题我明白了。
        下载时长不够那个,应该不是分片视频的缘故。我测试单独下载得到的也是唯一的flv视频,下载完成里显示的是正确的时长,但实际打开只有几分钟。
        不管怎样,还是谢谢您。

        1. 客气。B站时长不够问题,很大可能就是分片,若分片视频在列表中,逻辑上比较难以平衡,希望后面能做些改进

  11. vk vk

    https://www.bilibili.com/bangumi/play/ep275929 出现解析错误,如何下载?

    1. 取cid问题,此类型URL没加入兼顾,已更新。请重获取youtube-dl_cr.exe置于文件目录中再试

      1. vk vk

        我重新下载了rar软件包,CRTubeGet.exe修改时间是8月19日10:06,但还是“unsupport url”

        1. 同时取youtube-dl_cr.exe置于其目录下

          1. vk vk

            重新下载了youtube-dl_cr.exe,好了,谢谢

          2. :b

  12. 图图 图图

    很棒的程序,如果程序内能提供一个窗口让用户自己输入youtube-dl的参数(比如-o重定向文件名)就好了

  13. 没有提供,文件名取字视频title,类似这样的:--output "H:\CRTubeGet Downloaded\北极极光。。~挪威.%(ext)s"
    个别需求,可以直接用youtube-dl来组合

  14. 我下载了该页面的程序,打开https://www.bilibili.com/bangumi/play/ep61032后,能看到列表,不过解析后均出现"Analysis failed: BiliBili said: Video is hidden."的提示,不能下载,不知道这个问题有什么方法可以解决么?谢谢!

    1. youtube-dl官方不支持番剧,修改版对此情况信息获取错误,抽空做研究,信息比较简单,需要一点点时间
      --
      已解决并已推送更新。请关闭程序重启,它自动更新youtube-dl_cr.exe文件至2019.09.16版本,也可自己去http://www.cr-soft.net/softs/crtubeget/youtube-dl_cr.exe下载后替换,之后重新下载这列表即可

      1. 太感谢了,如果修改版能支持就太方便了,很期待您的更新!!

  15. 还有个问题,请问能在下载的时候自己选择视频的清晰度么?

    我虽然在设置中设置了清晰度为720P,不过自动解析后还是会下载1080P的视频,有什么方法能只下载720P么?谢谢!

    不知道是不是我的设置有问题

    1. 设置没问题,B站拣能下的最好的下载

      1. 目前有什么方法能设置自己想要的下载的清晰度么?

        比如我对一些动画片只下载720P的就足够了

        1. 现在没有。youtube-dl内部逻辑,我有空研究下

          1. 哦,好的,明白了,谢谢您的回复

          2. youtube-dl_cr.exe已于2019.10.07实现对720p、480p、360p的支持,它会自动更新。或者,您手动更新此组件

  16. 能够有效的下载 bilibili 的视频列表,感谢您的辛苦开发,谢谢。

    1. 感谢您的反馈,B站列表类型支持的比较多

添加新評論