如何在 Python 中处理 URL
Aspose.HTML FOSS for Python 的 URL 层实现了 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 — 捕获它,而不是使用正则表达式进行预验证。