1

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

4

1 回答 1

4

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=greenkids, girl,boy等等。

于 2015-05-07T03:23:47.377 回答