该报错是因为请求的URL缺少协议头(如http、https等)导致的。
解决办法如下:
1.检查URL格式是否正确,是否缺少”http://”或”https://”等协议头。
2.使用try…except语句捕获异常,并在except语句中输出有用的错误信息。
3.在代码中添加协议头。可以使用字符串拼接的方式在URL前面添加协议头,例如:
import requests
url = "example.com" # 缺少协议头
try:
response = requests.get("http://" + url)
print(response.status_code)
except requests.exceptions.RequestException as e:
print(e)
4.使用Python的urlparse库解析URL,判断是否有协议头。如果没有则在代码中添加协议头,例如:
import requests
from urllib.parse import urlparse
url = "example.com" # 缺少协议头
parsed_url = urlparse(url)
if not parsed_url.scheme:
url = "http://" + url
try:
response = requests.get(url)
print(response.status_code)
except requests.exceptions.RequestException as e:
print(e)
以上就是Requests报”requests.exceptions.MissingSchema: Invalid URL {url}: No schema supplied. Perhaps you meant http://{url}?”的原因以及解决办法的完整攻略。