Я пытаюсь проанализировать поля, поддомен и путь к URL-адресу storage.googleapis.com. Но, похоже, существует проблема с разбором поддоменов, в частности с URL-адресами, содержащими домен googleapis.com
парсинг storage.googleapis.com/somePath возвращает поддомен = '', fld = 'storage.googleapis.com', путь = / somePath
Если я изменяю один символ в домене, он работает как положено. Например, storage.oogleapis.com/somePath возвращает поддомен = хранилище, fld = oogleapis.com, путь = / somePath.
Кажется, что есть ошибка или какая-то особая обработка точной строки googleapis.com в библиотеке tld.
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
Есть идеи, почему это происходит?