ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
131.75k stars 9.98k forks source link

Parse Bilibili Videos - HTTP Error 403 #32782

Closed thiliapr closed 4 months ago

thiliapr commented 5 months ago

Checklist

Verbose log

py -m youtube_dl -v https://www.bilibili.com/video/BV1yi4y1B7Jt
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.bilibili.com/video/BV1yi4y1B7Jt']
[debug] Encodings: locale cp936, fs utf-8, out utf-8, pref cp936
[debug] youtube-dl version 2021.12.17
[debug] Python 3.11.4 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 - OpenSSL 1.1.1u  30 May 2023
[debug] exe versions: ffmpeg 5.1.2-full_build-www.gyan.dev, ffprobe 5.1.2-full_build-www.gyan.dev
[debug] Proxy map: {}
[BiliBili] 1yi4y1B7Jt: Downloading webpage
[BiliBili] 1yi4y1B7Jt: Downloading video info page
WARNING: Unable to download JSON metadata: HTTP Error 403: Forbidden
[BiliBili] 1yi4y1B7Jt: Downloading video info page
ERROR: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on https://github.com/ytdl-org/youtube-dl/issues , using the appropriate issue template. Make sure you are using the latest version; see  https://github.com/ytdl-org/youtube-dl/#user-content-installation  on how to update. Be sure to call youtube-dl with the --verbose option and include the complete output.
  File "D:\Program Files\Python311\Lib\site-packages\youtube_dl-2021.12.17-py3.11.egg\youtube_dl\extractor\common.py", line 679, in _request_webpage
    return self._downloader.urlopen(url_or_request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Program Files\Python311\Lib\site-packages\youtube_dl-2021.12.17-py3.11.egg\youtube_dl\YoutubeDL.py", line 2461, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Program Files\Python311\Lib\urllib\request.py", line 525, in open
    response = meth(req, response)
               ^^^^^^^^^^^^^^^^^^^
  File "D:\Program Files\Python311\Lib\urllib\request.py", line 634, in http_response
    response = self.parent.error(
               ^^^^^^^^^^^^^^^^^^
  File "D:\Program Files\Python311\Lib\urllib\request.py", line 557, in error
    result = self._call_chain(*args)
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Program Files\Python311\Lib\urllib\request.py", line 496, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "D:\Program Files\Python311\Lib\urllib\request.py", line 749, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Program Files\Python311\Lib\urllib\request.py", line 525, in open
    response = meth(req, response)
               ^^^^^^^^^^^^^^^^^^^
  File "D:\Program Files\Python311\Lib\urllib\request.py", line 634, in http_response
    response = self.parent.error(
               ^^^^^^^^^^^^^^^^^^
  File "D:\Program Files\Python311\Lib\urllib\request.py", line 563, in error
    return self._call_chain(*args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Program Files\Python311\Lib\urllib\request.py", line 496, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "D:\Program Files\Python311\Lib\urllib\request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)

Description

As you see, It can't parse the videos from bilibili.

dirkf commented 5 months ago

See https://github.com/ytdl-org/youtube-dl/issues/32722#issuecomment-1950045012 for current status.