Python中you-get和youtube-dl最近无法下载部分B站视频,如何解决?

you-get 前阵子不知道为啥关闭了 issue,有问题都没法提交了,这几天发现 B 站部分视频可以下载,部分视频无法下载,很困惑,大家知道怎么解决吗,就比如谷阿莫的这两集视频,是挨着发布的,一个可以下载,一个不可以下载。

you-get https://www.bilibili.com/video/av18486722
you-get: [error] oops, something went wrong.
you-get: don't panic, c'est la vie. please try the following steps:
you-get:   (1) Rule out any network problem.
you-get:   (2) Make sure you-get is up-to-date.
you-get:   (3) Check if the issue is already known, on
you-get:         https://github.com/soimort/you-get/wiki/Known-Bugs
you-get:         https://github.com/soimort/you-get/issues
you-get:   (4) Run the command with '--debug' option,
you-get:       and report this issue with the full output.
site:                Bilibili
title:               None
stream:
    - format:        flv
      container:     flv
      size:          179.2 MiB (187878378 bytes)
    # download-with: you-get --format=flv [URL]
you-get https://www.bilibili.com/video/av18447844
site:                Bilibili
title:                [谷阿莫]  5 分鐘看完 2017 自己的肉自己吃的電影《雪山奇迹 6 Below 》
stream:
    - format:        flv
      container:     flv
      size:          116.8 MiB (122470241 bytes)
    # download-with: you-get --format=flv [URL]

Downloading [谷阿莫] 5 分鐘看完 2017 自己的肉自己吃的電影《雪山奇迹 6 Below 》.flv … 2.1% ( 2.5/116.8MB) ├█───────────────────────────────────────┤[1/1] 964 kB/s

我的 you-get 版本是you-get: version 0.4.1011, a tiny downloader that scrapes the web.最新的开发版。

使用了最新的 2018.01.27 版本的 youtube-dl 也是同样的效果,第一个下载不了,第二个可以下载,求高人解答,谢谢。


Python中you-get和youtube-dl最近无法下载部分B站视频,如何解决?

23 回复

我这倒好,,全都无法下载


遇到B站下载问题,可以试试用 yt-dlp 替代。它是youtube-dl的活跃分支,更新快,对B站的支持更好。

先安装:

pip install yt-dlp

基本下载命令:

import yt_dlp

url = "https://www.bilibili.com/video/BV1xx411c7mD"

ydl_opts = {
    'outtmpl': '%(title)s.%(ext)s',
}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])

如果遇到需要登录才能看的视频(比如大会员专享),需要添加cookies:

ydl_opts = {
    'cookiefile': 'bilibili_cookies.txt',  # 从浏览器导出的cookies文件
}

获取更高清晰度:

ydl_opts = {
    'format': 'bestvideo+bestaudio/best',
}

有时候B站会返回dash格式,需要合并音视频:

ydl_opts = {
    'format': 'bestvideo+bestaudio/best',
    'merge_output_format': 'mp4',
}

如果还不行,可能是B站又更新了反爬机制,需要更新yt-dlp:

pip install --upgrade yt-dlp

换yt-dlp试试。

你可以试试使用开发版
<br>sudo pip3 install --upgrade <a target="_blank" href="https://github.com/soimort/you-get/archive/develop.zip" rel="nofollow noopener">https://github.com/soimort/you-get/archive/develop.zip</a><br>

土办法一个。播放时 F12 找到地址,一段一段下回来,ffmpeg 合并,帧率显示错误可以 lsmash 再混流一次。

don’t panic, c’est la vie

我前段时间用 youtube-dl 下载过啊 要加 refer

接上面的土办法 F12 找到后,可以用这个工具自动下载合并。

https://github.com/XhstormR/GetBilibili-C

昨天翻 you-get 仓库发现的 fork 版 lulu,可解决大部分不能下载的问题
https://github.com/iawia002/Lulu

斗鱼的直播都下载不了了

很多 pr,官方拖了好久没合并,所以我也是用了 lulu

非常感谢,好用

lulu 似乎也不行,我等了好久,youtube-dl 和 you-get 就是没更新

用 IDM 下吧

最新的开发版应该是可以的啊?试了一下旧版本找不到标题会报错
Commits on Feb 3, 2018
[bilibili] fix some title regexes

hi,大家好,我是 iawia002,lulu 的维护者,以前也是 you-get 的 Contributor
fork 它出来自己搞的主要原因有两个:1.you-get 的更新速度实在太慢,2.you-get 的很多 extractors 的代码太乱了,soimort 对 PR 的态度又很随意,这样只会导致整个项目代码越来越难以阅读和维护
如果大家有什么问题可以提 Issues,也欢迎 Pull request

Lulu 目前解决了我的问题

感谢推荐


然后 you-get 的 issue 还关闭了。。。

这个是因为 soimort 说他想尝试一种激进的提 issue 的方式,通过 PR 来提,你使用的哪个 extractor 挂了你就添加一个对应的单元测试来报告

我也是不行了 努力找方法

知道了 视频链接要双引号就可以了

回到顶部