标签:
转自:http://www.leyle.com/archives/canonicalize_url.html
思考一下:对url进行规范化处理是否是必须的?因为这一步处理涉及到编码转换,对于一个网页的新链发现来说是比较耗时的。
为什么需要格式化 url?
比如下面几个url:
实质上请求的内容是一样的,但是参数的顺序却是可以不一样的,所以,我们需要一个规则,让所有的 url 都按照这个规则来格式化,这样更方便我们判断 url 指向的内容是否相同,也可以对 url 进行去重处理。
在 scrapy 中,格式化 url 的函数是 scrapy.utils.url.canonicalize_url()
,在 scrapy 中,按照 url 的构成方法,对 url 中的构成数据进行了重新排列,关于 url 的信息,可以参考 Uniform resource locator
所以整个函数的实现过程就是:
‘#‘
),默认情况下是不保留;经过上面的处理后,再通过 urlparse.urlunparse
反向拼接成新的 url。到此处是,整个 url 格式化过程就完成了。
标签:
原文地址:http://www.cnblogs.com/chybot/p/5156182.html