我正在尝试解析fld,子域和storage.googleapis.com网址的路径。但是,似乎在解析包含域名googleapis.com的url的子域时出现问题
解析storage.googleapis.com/somePath返回subdomain =”,fld ='storage.googleapis.com',路径= / somePath 如果我在域中更改单个字符,它将按预期工作。例如,storage.oogleapis.com/somePath返回子域= storage,fld = oogleapis.com,路径= / somePath。 tld库中的确切字符串googleapis.com似乎有错误或某些特殊处理。
from tld import get_tld
def parse_url(url):
parsed = get_tld(url, as_object=True, fail_silently=True, fix_protocol=True)
return parsed.subdomain, parsed.fld, parsed.parsed_url[2], parsed.parsed_url[3]
subdomain, domain, path, query = parse_url('storage.googleapis.com/somePath')
assert (subdomain == 'storage')
assert (domain == 'googleapis.com')
assert (path == '/somePath')
assert (query == '')
运行测试代码时,由于子域为空并且域为“ storage.googleapis.com”,因此出现此错误
File "tld_script.py", line 10, in <module>
assert (subdomain == 'storage')
AssertionError
为什么会这样?