Python之pip安装,数值运算,爬虫实践.ppt

Python之pip安装,数值运算,爬虫实践

对等式抓取系统结构 ?在这种模式下,所有的抓取服务器在分工上没有不同。每一台抓取服务器都可以从待抓取在URL队列中获取URL,然后对该URL的主域名的hash值H,然后计算H mod m(其中m是服务器的数量,以上图为例,m为3),计算得到的数就是处理该URL的主机编号。 这种模式有一个问题,当有一台服务器死机或者添加新的服务器,那么所有URL的哈希求余的结果就都要变化。也就是说,这种方式的扩展性不佳。 布隆过滤器 在构建分布式爬虫时抓取海量网页时,通常需要维护一个很长的已抓取URL集合,避免重复抓取已经下载过的网页。然而即使使用哈希表来构建这个集合,依然面临着冲突和内存利用率不高的缺点。通常的判重做法是使用Bloom Filter(布隆过滤器)来进行已抓取网页查找。 布隆过滤器 布隆过滤器(Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。它实际上是由一个很长的二进制向量和一系列无关的哈希函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。即Bloom Filter报告某一元素存在于某集合中,但是实际上该元素并不在集合中,但是没有识别错误的情形,如果某个元素在该集合中,那么Bloom Filter 是不会报告该元素不在集合中的,所以不会漏报。 布

文档评论(0)

1亿VIP精品文档

相关文档