Python 3.x 如何比较2个url';s在https中忽略s://
我想比较两个url的a=”https://example.com/rghj.mp3“和b=”http://example.com/rghj.mp3" . 我想做一个条件,忽略https中的s,比较这两个url并计算为True。最好的方法是什么?我正在尝试执行a.split(“//:”[1]==b.split(“/:”[1]。此代码是否会因任何url格式而中断?快速且脏:Python 3.x 如何比较2个url';s在https中忽略s://,python-3.x,http,url,https,Python 3.x,Http,Url,Https,我想比较两个url的a=”https://example.com/rghj.mp3“和b=”http://example.com/rghj.mp3" . 我想做一个条件,忽略https中的s,比较这两个url并计算为True。最好的方法是什么?我正在尝试执行a.split(“//:”[1]==b.split(“/:”[1]。此代码是否会因任何url格式而中断?快速且脏: a.replace("https://","http://") == b.replace("https://","http:/
a.replace("https://","http://") == b.replace("https://","http://")
根据您的用例,您可能希望采用更健壮的方法
from urllib.parse import urlparse
a_url = urlparse(a)
b_url = urlparse(b)
match = a_url.netloc == b_url.netloc
谢谢,这很有帮助是的,这对上面是有效的。像这样的url呢?想要更一般你是说快速和肮脏的版本?然后您可以执行
a.replace(“https://”和“”).replace(“http://”和“”)
。我不建议你进入这个假设的兔子洞,使用urlparse。好的,谢谢。你上面提到的netloc只给出了中间部分。如何在不连接不同部分的情况下获得除方案外的整个部分?