Python Glossary English

все 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Сообщить о неточности