
そこで私はBilibiliから動画をannieを使ってダウンロードしようとしていました。最初はyoutube-dlを選びましたが、残念ながらBilibiliのウェブサイトをサポートしていないようでしたので、代わりにannieを選びました。Redditユーザー しかし、それにもかかわらず、Annie も使用できないようです。これは、Bilibili がメカニズムを更新したためか、どこかで私が間違えたためか疑問に思います。これがコードです。
apple@apples-MacBook-Pro ~ % annie "https://www.bilibili.com/s/video/BV1TD4y1R7k2"
Downloading https://www.bilibili.com/s/video/BV1TD4y1R7k2 error:
this page has no playlist
apple@apples-MacBook-Pro ~ %
また、youtube-dlはサポートしていると主張していますビリビリつい最近、youtube-dl を使用して Bilibili からビデオをダウンロードしたことを確かに覚えています。それで何が起こったのでしょうか。Bilibili はコードを更新したのでしょうか?
apple@apples-MacBook-Pro ~ % youtube-dl "https://www.bilibili.com/video/av90163846?p=1"
[BiliBili] 90163846: Downloading webpage
[BiliBili] 90163846: Downloading video info page
WARNING: Unable to download JSON metadata: HTTP Error 412: Precondition Failed
[BiliBili] 90163846: Downloading video info page
ERROR: Unable to download JSON metadata: HTTP Error 412: Precondition Failed (caused by
HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using
the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --
verbose flag and include its complete output.
apple@apples-MacBook-Pro ~ %
編集: 役に立つかもしれないデバッグ ログを以下に示します。
apple@192 ~ % youtube-dl -v "https://bilibili.com/video/BV1TD4y1R7k2"
[debug] System config: [u'--format', u'mp4', u'-o', u'~/Desktop/%(title)s.%(ext)s', u'--write-sub', u'--embed-subs']
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'https://bilibili.com/video/BV1TD4y1R7k2']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.03.14
[debug] Python version 2.7.16 (CPython) - Darwin-20.3.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.3.1, ffprobe 4.3.1, rtmpdump 2.4
[debug] Proxy map: {}
[BiliBili] 1TD4y1R7k2: Downloading webpage
[BiliBili] 1TD4y1R7k2: Downloading video info page
ERROR: requested format not available
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 806, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 838, in __extract_info
return self.process_ie_result(ie_result, download, extra_info)
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 872, in process_ie_result
return self.process_video_result(ie_result, download=download)
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1675, in process_video_result
expected=True)
ExtractorError: requested format not available
apple@192 ~ %
答え1
これを修正するには、次の 2 つのことを行う必要があります。
- youtube-dlの最新バージョンにアップグレードしてください。Bilibiliエクストラクターは2021年3月8日に最後に変更されましたが、古いバージョンでテストしたところ、機能しませんでした。
https://www.bilibili.com/video/BV1TD4y1R7k2
youtube-dlの入力として、次のようなBilibili URLを使用してください。最初の例のようなBilibili URLは使用しないでください。/s/代わりにhttps://www.bilibili.com/s/video/BV1TD4y1R7k2
、https://www.bilibili.com/video/BV1TD4y1R7k2
答え2
コマンドに以下を追加します
--add-header 受け入れる:'/'