1.分布式,多线程抓取.任务的调度问题. 因为对于成千上万的网页, 如何不重复抓取, 又
不漏掉重要站点, 是一个很关键的问题. 这里需要一个好的分布式算法,一个很好的任务
调度机制。
不漏掉重要站点, 是一个很关键的问题. 这里需要一个好的分布式算法,一个很好的任务
调度机制。
算法,没有固定的名字,因为这是一个特殊的领域,但是对于调度算法的研究,会基于传统的
分布式调度算法来进行.
分布式调度算法来进行.
2.网页重要性的评估, 这个很重要,因为crawler不会把所有网页都抓下来,只会抓20%的网
页下来,所以必须评估网页的重要性,如何评估就显得很重要.
页下来,所以必须评估网页的重要性,如何评估就显得很重要.
一般,评估技术会用到page rank算法.这是google发明的算法.(通过指向页面A的链接数量和权重来判断页面A的rank 值。Matrix的page rank是5.0,是一个中等的得分)
3.refresh policy-. 因为网页抓下来之后,每经过一段时间,crawler都必须更新网页,从而保证索引的网页是最新的网页。最简单的更新策略就是把所有网页重新下载一次,但是这个耗费的时间起码是一个月,是heavy cost,不能被接受。所以,一个优秀的更新算法是一个crawler的根本。
4.压缩算法,Crawler抓下来的东西,会分布式的存储在本地。一般来讲,因为数据量的庞
大,所以这里的存储会有一个压缩机制,从来减少总的存储容量。包括将来在各个数据服
务器之间传输数据,都是需要一个优秀的压缩算法,从来减少通讯带来的带宽负担。
大,所以这里的存储会有一个压缩机制,从来减少总的存储容量。包括将来在各个数据服
务器之间传输数据,都是需要一个优秀的压缩算法,从来减少通讯带来的带宽负担。