Warning
данный модуль доступен на третьей ветки питона
parse.
parse_qs
(<строка запроса>, [, keep_blankvalues=False][, strict_parsing=False][, encoding='utf-8'][, errors='replace'])разбирает строку запроса и возвращает словарь с ключами, содержащими названия параметров, и списка значений.
keep_blankvalues (bool) – если истина, то параметры, не имеющие значений внутри строки запроса, также будут добавлены в результат.
strict_parsing (bool) – если истина, то при наличии ошибки возбуждается исключение ValueError
encoding (str) – кодировка данных
errors (str) – уровень обработки ошибок
>>> s = "str=%D1%F2%F0%EE%EA"&E0&v=10&v=20&t="
>>> parse qs(s, encoding="cp1251")
{'str': ['Строка'], 'v': ['10', '20']}
>>> parse_qs(s, keep_Ыank_va1ues=True, encoding="cp1251")
{'t': ["], 'str': ['Строка'], 'v': ['10', '20'])
parse.
parse_qsl
(<строка запроса>, [, keep_blankvalues=False][, strict_parsing=False][, encoding='utf-8'][, errors='replace'])аналогична parse_qs()
, только возвращает список кортежей, разбирает строку запроса
keep_blankvalues (bool) – если истина, то параметры, не имеющие значений внутри строки запроса, также будут добавлены в результат.
strict_parsing (bool) – если истина, то при наличии ошибки возбуждается исключение ValueError
encoding (str) – кодировка данных
errors (str) – уровень обработки ошибок
>>> s = "str=%D1%F2%FO%EE%EA%EO&v=10&v=20&t="
>>> parse qsl(s, encoding="cpl251")
[('str', 'Строка'), ('v', '10'), ('v', '20')]
>>> parse_qsl(s, keep_blank_values=True, encoding="cp1251")
[('str', 'Строка'), ('v', '10'), ('v', '20'), ('t', ")]
parse.
quote
(<строка>[, safe='/'][, encoding=None][, errors=None])заменяет все специальные симолы последовательностями %nn. Цифры, английские буквы и символы подчеркивания, точки и дефиса не кодируются. Пробелы преобразуются в последовательность %20.
safe (str) – символы, которые преобразовывать нельзя
>>> quote("Cтpoкa", encoding="cp1251")
'%D1%F2%F0%EE%EA%E0'
>>> quote("Cтpoкa", encoding="utf-8")
'%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B0'
parse.
quote_plus
(<строка>[, safe='/'][, encoding=None][, errors=None])функция аналогична функции quote()
, но пробелы заменяются символом +, а символ / заменяется на %2F
safe (str) – символы, которые преобразовывать нельзя
parse.
quote_from_bytes
(<последовательность байтов>[, safe='/'])функция аналогична функции quote()
, но в качестве первого параметра принимает последовательность байтов
parse.
unquote
(<строка>[, encoding='utf-8'][, errors='replace'])заменяет последовательность %nn на соответсвующие символы. символ + не заменяется ничем
parse.
unquote_plus
(<строка>[, encoding='utf-8'][, errors='replace'])заменяет последовательность %nn на соответсвующие символы. символ + заменяет пробелом
parse.
urlencode
(query, doseq=False, safe='', encoding=None, errors=None)преобразовывает отдельные составляющие в строку запроса
query - dict, list[tuple]
doseq - bool - если истина, то можно указать последовательность из нескольких значений во втором параметре кортежа
urlencode({'str': 'Строка 2', 'var': 20}, encoding='cpl251)
# 'var=20&str='Шl%F2•;FO%EE%EA%E0+2'
urlencode([('str', 'Строка 2'), ('var', 20)], encodiпg='cp1251')
# 'str=%D1%F2%FO%EE%EA%E0+2&var=20'
parse.
urljoin
(<базовый урл>, <относитьльный или абсолютный урл>[, <разбор якоря>])преобразует относитльный урл в абсолютный
>>> from urllib.parse import urljoin
>>> urljoin(http://admin.ru/f1/f2/test.html', 'file.html')
'http://admin.ru/fl/f2/file.html'
>>> urljoin(http://admin.ru/f1/f2/test.html', 'f3/file.html')
'http://admin.ru/fl/f2/f3/file.html'
>>> urljoin(http://admin.ru/f1/f2/test.html', '/file.html')
'http://admin.ru/file.html'
>>> urljoin(http://admin.ru/f1/f2/test.html', './file.html')
'http://admin.ru/fl/f2/file.html'
>>> urljoin(http://admin.ru/f1/f2/test.html', '../file.html')
'http://admin.ru/fl/file.html'
parse.
urlparse
(<url>[, <схема>[, <разбор_якоря>=False]])возвращает ParseResult
с результатом разбора адреса
схема – название протокола, если протокла нет в составе адреса
разбор_якоря (bool) – если лож, то якорь будетвходить в состав других атрибутов
>>> urlparse('http://ilnurgi.ru:80/test.php;st?var=5#metka')
ParseResult(scheme='http', netloc='ilnurgi.ru:80', path='/test.php', params='st', query='var=5', fragment='metka')
parse.
urlsplit
(<url>[, <схема>[, <разбор_якоря>=False]])возвращает SplitResult
с результатом разбора адреса
>>> urlsplit('http://ilnurgi.ru:80/test.php;st?var=5#metka')
SplitResult(scheme='http', netloc='ilnurgi.ru:80', path='/test.php', query='var=5', fragment='metka')
parse.
urlunparse
(<последовательность>)возвращает строку, адрес, собранную из отдельных значений
>>> urlunparse(('http', 'ilnurgi.ru:80', '/test.php', '', 'var=5', 'metka'))
'http://ilnurgi.ru:80/test.php?var=5#metka'
parse.
urlunsplit
(<последовательность>)возвращает строку, адрес, собранную из отдельных значений
>>> urlunsplit(('http', 'ilnurgi.ru:80', '/test.php', '', 'var=5', 'metka'))
'http://ilnurgi.ru:80/test.php?var=5#metka'
parse.
ParseResult
результат парсинга адреса
scheme
название протокола
netloc
название домена вместе с номером порта
path
путь
hostname
название домена в нижнем регистре
port
номер порта
params
параметры
query
строка запроса
fragment
якорь
username
имя пользователя
password
пароль
geturl
()возвращает адрес
parse.
SplitResult
результат парсинга адреса