首页 > 解决方案 > 我在 Github 上使用 you-get 项目时出现错误

问题描述

本来想用you-get来下载视频的,但是安装后使用,出现错误:

我的 python3.9 安装得很好,我检查了系统路径。我还使用了很多方法来安装 you-get,包括使用 pip3、从 github 下载 zip 并且总是会出现这个错误。我认为这个问题可能是由我的 vpn 引起的,但是当我关闭 vpn 时,什么都没有改变。

我也用管理员打开了cmd。

我输入了这个命令:you-get 'https://www.youtube.com/watch?v=nWQwrU1qUrc' --debug

[DEBUG] get_location: http://'https://www.youtube.com/watch?v=nWQwrU1qUrc'
[DEBUG] get_location: http://'https://www.youtube.com/watch?v=nWQwrU1qUrc'

you-get: version 0.4.1500, 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, auto_rename=False, insecure=False, http_proxy=None, extractor_proxy=None, no_proxy=False, socks_proxy=None, stream=None, itag=None, URL=["'https://www.youtube.com/watch?v=nWQwrU1qUrc'"])
Traceback (most recent call last):
File "C:\Python39\lib\urllib\request.py", line 1346, in do_open
  h.request(req.get_method(), req.selector, req.data, headers,
File "C:\Python39\lib\http\client.py", line 1255, in request
  self._send_request(method, url, body, headers, encode_chunked)
File "C:\Python39\lib\http\client.py", line 1301, in _send_request
  self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Python39\lib\http\client.py", line 1250, in endheaders
  self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Python39\lib\http\client.py", line 1010, in _send_output
  self.send(msg)
File "C:\Python39\lib\http\client.py", line 950, in send
  self.connect()
File "C:\Python39\lib\http\client.py", line 921, in connect
  self.sock = self._create_connection(
File "C:\Python39\lib\socket.py", line 822, in create_connection
  for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "C:\Python39\lib\socket.py", line 953, in getaddrinfo
  for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Python39\lib\site-packages\you_get-0.4.1500-py3.9.egg\you_get\common.py", line 1777, in url_to_module
File "C:\Python39\lib\site-packages\you_get-0.4.1500 py3.9.egg\you_get\common.py", line 393, in get_location
File "C:\Python39\lib\site-packages\you_get-0.4.1500-py3.9.egg\you_get\common.py", line 408, in urlopen_with_retry
File "C:\Python39\lib\urllib\request.py", line 214, in urlopen
  return opener.open(url, data, timeout)
File "C:\Python39\lib\urllib\request.py", line 517, in open
  response = self._open(req, data)
File "C:\Python39\lib\urllib\request.py", line 534, in _open
  result = self._call_chain(self.handle_open, protocol, protocol +
File "C:\Python39\lib\urllib\request.py", line 494, in _call_chain
  result = func(*args)
File "C:\Python39\lib\urllib\request.py", line 1375, in http_open
  return self.do_open(http.client.HTTPConnection, req)
File "C:\Python39\lib\urllib\request.py", line 1349, in do_open
  raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 11001] getaddrinfo failed>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Python39\lib\urllib\request.py", line 1346, in do_open
  h.request(req.get_method(), req.selector, req.data, headers,
File "C:\Python39\lib\http\client.py", line 1255, in request
  self._send_request(method, url, body, headers, encode_chunked)
File "C:\Python39\lib\http\client.py", line 1301, in _send_request
  self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Python39\lib\http\client.py", line 1250, in endheaders
  self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Python39\lib\http\client.py", line 1010, in _send_output
  self.send(msg)
File "C:\Python39\lib\http\client.py", line 950, in send
  self.connect()
File "C:\Python39\lib\http\client.py", line 921, in connect
  self.sock = self._create_connection(
File "C:\Python39\lib\socket.py", line 822, in create_connection
  for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "C:\Python39\lib\socket.py", line 953, in getaddrinfo
  for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed

Traceback (most recent call last):
File "C:\Python39\Scripts\you-get-script.py", line 33, in <module>
  sys.exit(load_entry_point('you-get==0.4.1500', 'console_scripts', 'you-get')())
File "C:\Python39\lib\site-packages\you_get-0.4.1500-py3.9.egg\you_get\__main__.py", line 92, in main
File "C:\Python39\lib\site-packages\you_get-0.4.1500-py3.9.egg\you_get\common.py", line 1798, in main
File "C:\Python39\lib\site-packages\you_get-0.4.1500-py3.9.egg\you_get\common.py", line 1680, in script_main
File "C:\Python39\lib\site-packages\you_get-0.4.1500-py3.9.egg\you_get\common.py", line 1327, in download_main
File "C:\Python39\lib\site-packages\you_get-0.4.1500-py3.9.egg\you_get\common.py", line 1788, in any_download
File "C:\Python39\lib\site-packages\you_get-0.4.1500-py3.9.egg\you_get\common.py", line 1779, in url_to_module
File "C:\Python39\lib\site-packages\you_get-0.4.1500-py3.9.egg\you_get\common.py", line 393, in get_location
File "C:\Python39\lib\site-packages\you_get-0.4.1500-py3.9.egg\you_get\common.py", line 408, in urlopen_with_retry
File "C:\Python39\lib\urllib\request.py", line 214, in urlopen
  return opener.open(url, data, timeout)
File "C:\Python39\lib\urllib\request.py", line 517, in open
  response = self._open(req, data)
File "C:\Python39\lib\urllib\request.py", line 534, in _open
  result = self._call_chain(self.handle_open, protocol, protocol +
File "C:\Python39\lib\urllib\request.py", line 494, in _call_chain
  result = func(*args)
File "C:\Python39\lib\urllib\request.py", line 1375, in http_open
  return self.do_open(http.client.HTTPConnection, req)
File "C:\Python39\lib\urllib\request.py", line 1349, in do_open
  raise URLError(err)
urllib.error.URLError: <urlopen error [Errno 11001] getaddrinfo failed>

有人可以帮我吗,非常感谢

标签: python

解决方案


如果您打算使用 cmd,则应在命令中替换'",或者由于网站无论如何都不包含空格,因此只需删除引号即可。所以尝试运行:

you-get "https://www.youtube.com/watch?v=nWQwrU1qUrc"
OR
you-get https://www.youtube.com/watch?v=nWQwrU1qUrc

但是,在未来,我建议您只使用 Windows PowerShell,我认为它会好得多。


推荐阅读