网页搜集效率
所谓效率,在这里就是如何利用尽量少的资源(计算机设备、网络带宽、时间)来完成预定的网页搜集量。在批量搜集的场合,我们通常考虑半个月左右能搜集到的网页,自然是越多越好。由于网页之间存在的独立性,利用许多台计算机同时来做这项工作是一个吸引人的想法。
第一,即使是用一台计算机来搜集网页,也应该注意并发性的开发和利用。由于从网上抓取一篇网页通常需要秒量级的等待网络通信时间第二点是并不是设备越多越好。在用若干台计算机形成一个机群的安排下,它们共同分享出口网络带宽,随着设备量的增加,这个网络带宽(或者是周围的某个环境带宽)很快就成为瓶颈。经验表明实际上用不了超过10台计算机。分布式搜集的想法,即让多台设备分布在网络上的不同位置,从而克服上述带宽瓶颈问题,具体实现起来的麻烦会超过可能带来的好处(也许Google那样的针对多个国家用户的巨型搜索引擎需要用这种技术) 第三点发生在网络的另一端,即服务器方,它可能来不及提供所需的网页。这除了有些Web服务器所处的网络条件比较差,或者有太多其他人访问外,搜索引擎太频繁对它们发出网页请求也是一个重要原因。落实到技术上,就是要有一个访问策略或者URL规划,不要让搜集器启动的抓取进程都集中在少数几个网站上。