Python 3:为什么要使用 urlparse/urlsplit

Ara*_*eel 2 urlparse python-3.4

我不太确定这些模块的用途。我知道他们将各自的 url 拆分为其组件,但是为什么这会有用,或者何时使用 urlparse 的示例是什么?

Vai*_*ule 5

urlparse仅在需要参数时使用。我在下面解释了为什么需要参数。

参考

urllib.parse。urlsplit(urlstring,scheme='',allow_fragments=True)

这与 urlparse() 类似,但不会将参数从 URL 中分离出来。如果需要更新的 URL 语法,允许将参数应用于 URL 路径部分的每个段(请参阅RFC 2396),则通常应使用此函数来代替 urlparse() 。

主机名对于存储在变量中以便稍后使用或添加参数、查询主机名以在抓取时获取您想要的网页总是有用的。

关于参数:

仅供参考:根据 RFC2396,url 中的参数

对当前客户端应用程序的广泛测试表明,大多数已部署的系统不使用“;” 字符来指示尾随参数信息,并且路径段中分号的存在不会影响该段的相对解析。因此,参数已作为单独的组件被删除,现在可以出现在任何路径段中。它们的影响已从解析相对 URI 引用的算法中消除。

参数在抓取时很有用,例如,如果 url 是http://www.example.com/products/women?color=green

当您使用 时urlparse,您将获得参数。现在你必须将其更改为menhttp://www.example.com/products/men?color=green, kids,girl等等boy