Как работать с URL-адресами в Python

Как работать с URL-адресами в Python

URL-слой Aspose.HTML FOSS для Python реализует парсинг в стиле WHATWG, поэтому URL, найденные в документах, разрешаются и нормализуются так же, как это делают браузеры. Это руководство охватывает парсинг, валидацию, строки запросов и модель ошибок, используя pip для установки.

Пошаговое руководство

Шаг 1: Установите пакет

git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .

Шаг 2: Импортируйте необходимые классы

from aspose_html.url import URL, URLSearchParams

Шаг 3: Разобрать и проверить

URL.parse() разбирает абсолютные или относительные URL (с базой); URL.can_parse() проверяет корректность дешево, без создания объекта; ошибки разбора вызывают типизированный URLParseError.


Шаг 4: Редактировать строки запроса

URLSearchParams проходит сквозь запросные параметры — append(), get(), get_all(), has() и delete() — сохраняет семантику множественных значений для повторяющихся ключей.

Общие проблемы и решения

Относительный URL не удалось разобрать. Для относительного разбора требуется базовый URL — укажите его. URL.parse().

Возвращается только первое значение повторяющегося ключа. get() По умолчанию возвращает первое совпадение; используйте get_all() для каждого значения.

Компоненты выглядят нормализованными или процентно-закодированными неожиданно. Нормализация WHATWG в работе — вывод соответствует поведению браузера.

Часто задаваемые вопросы

Как проверить URL без его парсинга?

URL.can_parse() возвращает логическое значение без создания объекта.

Являются ли ключи запроса чувствительными к регистру?

Да — ключи сравниваются как есть, в соответствии со стандартом URL.

Какой тип ошибки вызывают сбои парсинга?

Типизированный URLParseError — ловите его вместо предварительной проверки регулярными выражениями.

См. также:

 Русский