MissingSchema: Invalid URL 'h': No scheme supplied. Perhaps you meant https://h?报错请进行修改
时间: 2024-12-18 10:36:11 浏览: 8
这个报错提示"MissingSchema: Invalid URL 'h': No scheme supplied."说明提供的URL `h` 没有有效的协议(例如 `http://` 或 `https://`),导致解析器无法识别这是一个合法的网址。错误信息建议可能是漏掉了 "http://" 或 "https://”。
为了修正这个错误,你需要检查代码中引用的 `h` 是否应该是一个完整的URL,如果有遗漏了协议部分,应在前面添加适当的协议。如果是在构造URL列表的地方出的问题,那么修复后的例子可能是这样的:
```python
url = 'https://sc.chinaz.com/tupian/jianzhutupian.html'
...
url_list = ['http://' + u if not u.startswith('http') else u for u in url_list] # 添加 http 协议前缀
```
这会确保所有的URL都包含了正确的起始协议,防止类似 `MissingSchema` 的错误。记得检查其他URL是否也存在同样的问题。
相关问题
报错信息是 f"Invalid URL {url!r}: No scheme supplied. " requests.exceptions.MissingSchema: Invalid URL 'None': No scheme supplied. Perhaps you meant https://None?
这个报错信息意味着在使用 requests 库发送 HTTP 请求时,传入的 URL 参数是无效的。具体来说,报错信息指出没有提供有效的 URL 方案(scheme),并且推测你可能意图使用 https,但实际上传入的 URL 是 None。
要解决这个问题,你需要检查传入的 URL 参数是否正确,并确保它包含有效的 URL 方案。例如,如果你想要使用 https 方案,正确的 URL 格式应该是类似于 "https://example.com" 的形式。
requests.exceptions.MissingSchema: Invalid URL 'www.tipdm.com': No scheme supplied. Perhaps you meant https://www.tipdm.com?
requests.exceptions.MissingSchema是一个Python的请求库(requests)中抛出的异常,通常发生在你试图创建一个Request对象时,提供的URL缺少必要的协议(如http、https等)。在给出的错误信息中,`Invalid URL 'www.tipdm.com': No scheme supplied`表明`www.tipdm.com`这个地址没有指定任何协议头,比如http或https。
一个完整的URL应该包含协议(如'http://' 或 'https://'),主机名(如`www.tipdm.com`),以及端口(如果有的话)。系统认为这是一个无效的URL,因为它看起来像是相对路径而不是绝对路径。
正确的做法是,在URL字符串前加上适当的协议,例如:
```python
url = "https://www.tipdm.com"
response = requests.get(url)
```
如果你知道URL应该是安全的并且默认使用https,也可以直接写成`requests.get('www.tipdm.com')`,但这种方式更易导致这种异常。
阅读全文