我是python的新用户。我不知道为什么,但请求总是引发InvalidURL异常:
>>> import requests
>>> r = requests.get('https://www.google.es/')
输出:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/requests/models.py", line 380, in prepare_url
scheme, auth, host, port, path, query, fragment = parse_url(url)
File "/usr/lib/python3/dist-packages/urllib3/util/url.py", line 392, in parse_url
return six.raise_from(LocationParseError(source_url), None)
File "<string>", line 3, in raise_from
urllib3.exceptions.LocationParseError: Failed to parse: https://www.google.es/
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.7/dist-packages/requests/api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 516, in request
prep = self.prepare_request(req)
File "/usr/local/lib/python3.7/dist-packages/requests/sessions.py", line 459, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File "/usr/local/lib/python3.7/dist-packages/requests/models.py", line 314, in prepare
self.prepare_url(url, params)
File "/usr/local/lib/python3.7/dist-packages/requests/models.py", line 382, in prepare_url
raise InvalidURL(*e.args)
requests.exceptions.InvalidURL: Failed to parse: https://www.google.es/
此错误与我给出的url无关。我该怎么处理
Python的请求版本为3.7.7和2.23.0
致以最良好的祝愿
由于
urllib3
的新版本,您遇到了错误(一些用户倾向于面对这个问题)错误不是由于
requests
引起的,而是在安装requests 2.21.0+
时安装的urllib3
(新版本)中的问题。要避免这种情况,请尝试更新
urllib3
:或者安装
requests v2.21.0
:v2.21.0
版本查看URL中是否有隐藏字符
我浪费了很多时间,这就是问题所在。。 当您从某处复制粘贴URL时,可能会发生这种情况
当URL不是有效的URL时,有时会发生这种情况。我有这个错误,几个小时后发现我在URL上的每个/之间有一个小空格。。。 所以我建议在请求时再写一次URL
相关问题 更多 >
编程相关推荐