我不确定这些模块的用途。我知道他们将相应的url拆分成它的组件,但为什么这会有用,或者什么时候使用urlparse?
答案 0 :(得分:3)
仅在需要参数时才使用urlparse
。我在下面解释了为什么需要参数。
urllib.parse。 urlsplit (urlstring,scheme ='',allow_fragments = True)
这与urlparse()类似,但不会从中分割出params URL。通常应该使用它来代替urlparse()如果更多 最近的URL语法允许将参数应用于每个段 需要网址的路径部分(请参阅RFC 2396)。
主机名总是很有用,可以存储在变量中以便以后使用它,或者添加参数,查询主机名以获取抓取时所需的网页。
关于参数:
仅供参考:根据RFC2396,url中的参数
对当前客户端应用程序的广泛测试表明了这一点 大多数已部署的系统不使用";"字符表示 尾随参数信息,以及分号的存在 在路径段中不会影响相对解析 分割。因此,参数已作为单独删除 组件,现在可能出现在任何路径段中。他们的影响力有 已从算法中删除以解析相对URI 参考
参数在抓取时很有用,
例如如果网址为http://www.example.com/products/women?color=green
使用urlparse
时,您将获得参数。现在您必须将其更改为men
,以便http://www.example.com/products/men?color=green
和kids
,girl
,boy
等等。