Как работать с 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 — ловите его вместо предварительной проверки регулярными выражениями.