python - Python 中是否有预定义的 URL 类?

标签 python url urlparse

我正在寻找类似 java.net.URL 的内容在 python 模块、Django、Zope 或 Python 中的任何地方。 我希望它最好是从语义原因,因为相关程序的分析结果表明URL在其中起着至关重要的作用。结果是这样的 URL 类在该程序中也将有很大的实际用途。

我当然可以自己编写这样的类,但在我开始重新发明轮子之前,我想先看看周围。

我看过urllib2urlparse . urlparse 基本上有我需要的功能,但它没有像java.net.URL 那样封装成一个类。关于我对我的程序的分析,它是颠倒的。

我还在 SplitResultParseResult 类中查看了 urlparse 的源代码。它们具有一些基本功能,可用于子类化。但是我必须将其余的 urlparse 函数重写为子类方法。

我还找到了mxURL - Flexible URL Datatype for Python .它非常接近我真正想要的。只是对于我的目的来说,这似乎有点矫枉过正。

谁能提出另一种选择?我应该继续重新发明轮子吗?

我的解决方案:

为了获得我的 URL 类,我基本上做了两件事:

  1. 继承自urlparse.ResultMixin
  2. 定义仅调用 urlparse.urlparse() 并将结果转换为 URL 实例的参数。

最佳答案

urlparse 确实将 URL 封装到一个名为 ParseResult 的类中,因此它可以被视为这些的工厂函数。直接来自 Python 文档:

>>> urlparse('http://www.cwi.nl:80/%7Eguido/Python.html')
ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html',
            params='', query='', fragment='')

如果您迫切需要一个名为 URL 的类来封装您的 URL,请使用别名 (URL = urlparse.ParseResult) 或创建一个适配器。

关于python - Python 中是否有预定义的 URL 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6170295/

相关文章:

python - 使用 pytest 测试 pyqt 应用程序

html - 在 h1 标签旁边获取背景 url 图片,不起作用

javascript - 互联网浏览器 : HTML entities in URL

python - 从 python 中的 urlparse 返回的拆分列表

python - 如何从网址中提取标题?

python - 在 Origin 中将破幂律实现为拟合函数

python - Pandas 版本的“如果为真,则在此处进行 VLOOKUP,如果为假,则在其他地方进行 VLOOKUP

python - OR 语句处理两个 != 子句 Python

facebook - 用于撰写 Facebook 电子邮件/消息的 URL(通过 URL 参数撰写电子邮件)

python - 为什么 urlparse.urlenparse 工作不一致?