我确实有一个 URL 列表,例如["www.bol.com ","www.dopper.com"]
格式。为了在 scrappy 上作为起始 URL 输入,我需要知道正确的 HTTP 协议。
例如:
["https://www.bol.com/nl/nl/", "https://dopper.com/nl"]
如您所见,协议可能会有所不同,https
甚至http
有或没有www.
不确定是否有任何其他变化。
- 有没有可以确定正确协议的python工具?
- 如果不是,我必须自己构建逻辑,我应该考虑哪些情况?
对于选项 2,这是我目前所拥有的:
def identify_protocol(url):
try:
r = requests.get("https://" + url + "/", timeout=10)
return r.url, r.status_code
except requests.HTTPError:
r = requests.get("http//" + url + "/", timeout=10)
return r.url, r.status_code
except requests.HTTPError:
r = requests.get("https//" + url.replace("www.","") + "/", timeout=10)
return r.url, r.status_code
except:
return None, None
还有其他我应该考虑的可能性吗?