网页搜集效率

所谓效率,在这里就是如何利用尽量少的资源(计算机设备、网络带宽、时间)来完成预定的网页搜集量。在批量搜集的场合,我们通常考虑半个月左右能搜集到的网页,自然是越多越好。由于网页之间存在的独立性,利用许多台计算机同时来做这项工作是一个吸引人的想法。

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

猜你喜欢

转载自deepfuture.iteye.com/blog/573819