我不确定这些模块的用途。我知道他们将各自的 url 拆分为其组件,但是为什么这会有用,或者什么是何时使用 urlparse 的示例?
1 回答
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
,您将获得参数。现在您必须将其更改men
为http://www.example.com/products/men?color=green
和kids
, girl
,boy
等等。