Spider技术:设计Spider时要解决的几个问题
spider是整个搜索引擎系统中很重要的一个组成部分,可以说是搜索引擎的基础。它不仅仅是为搜索引擎提供了搜索对象——海量数据,更重要的是它使搜索引擎从一个检索工具上升为一个信息整合的平台。搜索引擎的本质就是信息的整合,通过信息的整合构建了一个用户平台。这样就使得搜索引擎成为一个很好的且很有利润的商业化对象。 好的搜索引擎必须配一个好的spider,好的spider需要设计人员优雅的去设计。 设计时spider重点要解决以下几个问题:1. 抓取的效率 抓取的效率和计算机硬件的性能、硬件的多少、网络的带宽有关系,但为了提高抓取效率不能一味地增加硬件,而是要利用有限的硬件资源在一定的时间内抓取最多的的网页。 常见的提高抓取效率的策略有: (1)采用多线程并发抓取 (2)采用单线程、非阻塞I/O抓取 (3)分布式抓取,把抓取工作分布到多台服务器完成,对于Google这样的搜索引擎还包括地理上的分布式,把抓取服务器机群分布到全球各个国家的主干网上抓取。 [...]