все Python 3urllib.parseпонятие
urllib.parse.ParseResult
результаты разбора
Результат urlparse(): именованный кортеж из шести полей — scheme, netloc, path, params, query, fragment — плюс hostname, port, username, password.
Синтаксис
ParseResult(scheme, netloc, path, params, query, fragment)
hostname приводится к нижнему регистру, а netloc остаётся как был; port — целое число или None. Неверный порт (99999) не мешает разбору: ValueError возникает только при обращении к .port. Шестое поле params — параметры после «;» в последнем сегменте пути, которые почти не используются. Это кортеж: распаковка и индексы работают, но изменить поле нельзя — новый объект даёт _replace(), а строку обратно собирает geturl().
Примеры
from urllib.parse import urlparse
r = urlparse('https://Example.COM:8080/a/b;v=1?q=1#top')
print(r.hostname, r.port, r.params) # → example.com 8080 v=1
print(r._replace(fragment='').geturl()) # → https://Example.COM:8080/a/b;v=1?q=1
from urllib.parse import urlparse
r = urlparse('https://h:99999/')
print(r.netloc) # → h:99999
try:
r.port
except ValueError as e:
print('ValueError:', e) # → ValueError: Port out of range 0-65535
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности