Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: bilibili space video return 403 error #2915

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

journey-ad
Copy link

error stack

you-get "https://space.bilibili.com/208259/video" --debug
[DEBUG] get_content: https://space.bilibili.com/208259/video
[DEBUG] get_content: https://space.bilibili.com/208259/video
[DEBUG] get_content: https://api.bilibili.com/x/space/arc/search?mid=208259&pn=1&ps=100&tid=0&keyword=&order=pubdate&jsonp=jsonp
[DEBUG] get_content: https://api.bilibili.com/x/space/arc/search?mid=208259&pn=1&ps=100&tid=0&keyword=&order=pubdate&jsonp=jsonp
you-get: Extracting 1 of 7 videos ...
[DEBUG] get_content: https://www.bilibili.com/video/av418762389
[DEBUG] HTTP Error with code403
[DEBUG] HTTP Error with code403
[DEBUG] HTTP Error with code403
you-get: version 0.4.1545, a tiny downloader that scrapes the web.
you-get: Namespace(version=False, help=False, info=False, url=False, json=False, no_merge=False, no_caption=False, force=False, skip_existing_file_size_check=False, format=None, output_filename=None, output_dir='.', player=None, cookies=None, timeout=600, debug=True, input_file=None, password=None, playlist=False, first=None, last=None, size=None, auto_rename=False, insecure=False, http_proxy=None, extractor_proxy=None, no_proxy=False, socks_proxy=None, stream=None, itag=None, URL=['https://space.bilibili.com/208259/video'])
Traceback (most recent call last):
  File "c:\users\jad\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\jad\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\jad\AppData\Local\Programs\Python\Python39\Scripts\you-get.exe\__main__.py", line 7, in <module>
  File "c:\users\jad\appdata\local\programs\python\python39\lib\site-packages\you_get\__main__.py", line 92, in main
    main(**kwargs)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\site-packages\you_get\common.py", line 1831, in main
    script_main(any_download, any_download_playlist, **kwargs)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\site-packages\you_get\common.py", line 1713, in script_main
    download_main(
  File "c:\users\jad\appdata\local\programs\python\python39\lib\site-packages\you_get\common.py", line 1345, in download_main
    download(url, **kwargs)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\site-packages\you_get\common.py", line 1822, in any_download
    m.download(url, **kwargs)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\site-packages\you_get\extractor.py", line 48, in download_by_url
    self.prepare(**kwargs)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\site-packages\you_get\extractors\bilibili.py", line 186, in prepare
    self.download_playlist_by_url(self.url, **kwargs)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\site-packages\you_get\extractors\bilibili.py", line 748, in download_playlist_by_url
    self.__class__().download_playlist_by_url(url, **kwargs)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\site-packages\you_get\extractors\bilibili.py", line 585, in download_playlist_by_url
    html_content = get_content(self.url, headers=self.bilibili_headers(referer=self.url))
  File "c:\users\jad\appdata\local\programs\python\python39\lib\site-packages\you_get\common.py", line 448, in get_content
    response = urlopen_with_retry(req)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\site-packages\you_get\common.py", line 417, in urlopen_with_retry
    raise http_error
  File "c:\users\jad\appdata\local\programs\python\python39\lib\site-packages\you_get\common.py", line 408, in urlopen_with_retry
    return request.urlopen(*args, **kwargs)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\urllib\request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\urllib\request.py", line 523, in open
    response = meth(req, response)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\urllib\request.py", line 632, in http_response
    response = self.parent.error(
  File "c:\users\jad\appdata\local\programs\python\python39\lib\urllib\request.py", line 555, in error
    result = self._call_chain(*args)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\urllib\request.py", line 494, in _call_chain
    result = func(*args)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\urllib\request.py", line 747, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\urllib\request.py", line 523, in open
    response = meth(req, response)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\urllib\request.py", line 632, in http_response
    response = self.parent.error(
  File "c:\users\jad\appdata\local\programs\python\python39\lib\urllib\request.py", line 561, in error
    return self._call_chain(*args)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\urllib\request.py", line 494, in _call_chain
    result = func(*args)
  File "c:\users\jad\appdata\local\programs\python\python39\lib\urllib\request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

@soimort-bot
Copy link
Collaborator

Hello @journey-ad,
Thanks for the Pull Request. We ❤️ our contributors!
Please wait for one of our human maintainers to review your patches. This may take a few days to weeks. Also, please understand that although your Pull Request may or may not be eventually merged, we value all contributions equally.

祝您健康!

@SubePython
Copy link

IP 被bilibii反爬虫封了(一段时间后可能就解封,只是猜测),所以不能下载了。你可以换个IP继续你的操作。当然,如果you-get解决这个问题,那是最好的。

@journey-ad
Copy link
Author

有可能,下载时见到了各种错误,还有风控提示
视频列表比较长的时候续传是个问题
观察 debug 的日志,会把之前下载过的所有分p和清晰度都重新解析一遍,增大了风控拦截的概率
如果加个从指定索引开始下载的参数就好了

image

@xiaowu2001
Copy link

xiaowu2001 commented May 30, 2022

我也遇到了类似问题:使用you-get下载1080P的视频没问题,但是如果要下载付费番剧或者1080P+,用cookies就会报错,debug模式下也是[DEBUG] HTTP Error with code403。但是我用浏览器正常播放就没问题,就是用youget会报错。这个问题怎么解决?

@snowyu
Copy link
Contributor

snowyu commented Feb 15, 2023

You can use the --first option to specify the first video(from 0 begin) to download in playlist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants