下载视频时出现 pytube 错误:urllib.error.HTTPError:HTTP 错误 404:未找到

时间:2021-07-27 12:18:52

标签: python pytube

我正在制作一个简单的 youtube 视频下载器。它下载视频没有任何错误,但是当我尝试下载这个“video”时出现错误。我之前已经多次下载了这个视频,没有任何错误。

>
Traceback (most recent call last):
  File "c:\Users\Roshaan\AppData\Local\Programs\Python\Python39\Python\jarvis\test1.py", line 15, in <module>
    d = yt.streams.filter(res = "240p").first()
  File "C:\Users\Roshaan\AppData\Local\Programs\Python\Python39\lib\site-packages\pytube\__main__.py", line 311, in streams
    return StreamQuery(self.fmt_streams)
  File "C:\Users\Roshaan\AppData\Local\Programs\Python\Python39\lib\site-packages\pytube\__main__.py", line 214, in fmt_streams
    if "adaptive_fmts" in self.player_config_args:
  File "C:\Users\Roshaan\AppData\Local\Programs\Python\Python39\lib\site-packages\pytube\__main__.py", line 188, in player_config_args
    self._player_config_args = self.vid_info
  File "C:\Users\Roshaan\AppData\Local\Programs\Python\Python39\lib\site-packages\pytube\__main__.py", line 281, in vid_info 
    return dict(parse_qsl(self.vid_info_raw))
  File "C:\Users\Roshaan\AppData\Local\Programs\Python\Python39\lib\site-packages\pytube\__main__.py", line 109, in vid_info_raw
    self._vid_info_raw = request.get(self.vid_info_url)
  File "C:\Users\Roshaan\AppData\Local\Programs\Python\Python39\lib\site-packages\pytube\request.py", line 53, in get        
    response = _execute_request(url, headers=extra_headers, timeout=timeout)
  File "C:\Users\Roshaan\AppData\Local\Programs\Python\Python39\lib\site-packages\pytube\request.py", line 37, in _execute_request
    return urlopen(request, timeout=timeout)  # nosec
  File "C:\Users\Roshaan\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Users\Roshaan\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 523, in open
    response = meth(req, response)
  File "C:\Users\Roshaan\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 632, in http_response
    response = self.parent.error(
  File "C:\Users\Roshaan\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 561, in error
    return self._call_chain(*args)
  File "C:\Users\Roshaan\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 494, in _call_chain
    result = func(*args)
  File "C:\Users\Roshaan\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 404: Not Found

我不明白为什么会发生这种情况。我看到其他人提出了同样的问题,并更新了接受其他人的解决方案但对我不起作用的 pytube。这是我的代码

yt = YouTube("https://www.youtube.com/watch?v=wZ6W3ryNVNE&list=PLqzeul28y04UGw8RHAN37Gjh0ZLmg3-qe")
d = yt.streams.filter(res = "240p").first()
d.download()

1 个答案:

答案 0 :(得分:1)

此错误是 pytube 软件包反复出现的问题。它似乎在每次更新后都会修复,但随后又回到了这个问题。如果您已运行 pip install --upgrade pytube 并且问题仍然存在,那么您将不得不等待下一次更新。

在等待期间,我建议您使用 pytube... youtube_dl 的替代方案,您可能需要检查一下,因为它更可靠。官方 websiteinstallation