爬虫的困惑:下一步走向何处

最简单的表述,爬虫的作用就是从一个起始页面开始,抓取整个互联网。但是,互联网太大了,一个爬虫显然不可能抓取整个互联网。那么最简单的想法是, 先抓取比较重要的网页,然后再抓取比较不重要的网页,同时比较 频繁的更新重要的网页

这样问题就出来了,爬虫怎么知道什么网页是重要的?也许有人说,不是有pagerank算法吗?但是,pagerank是在爬下网页后根据网页之间的超级连接计算出来的,现在爬虫什么也没爬,他怎么知道互联网的拓扑结构。

我 们可以把互联网定义为一个世界,而爬虫相当于在一个世界中的探索者,在一开始,爬虫对这个世界一无所知,这时他只能在这个世界中盲目的走来走去,但是他每 走一步,都会加深对这个世界的认识,我们把这种认识称为爬虫眼中的世界。所以,在爬虫研究中,最重要就是,如何根据爬虫眼中的世界去判断下一步走向哪里?

那么,就出现了几种不同的爬虫:
1) 广度优先搜索爬虫(BFS)
这种爬虫永远盲目的走下去,他不会利用它已经获得的知识,就是不停的爬...

2) 反向链接爬虫(BackLink)
这种爬虫在走下一步之前,先根据已经掌握的知识,判断在候选链接中那个链接可能会有比较大的反向链接数,然后就选择那个链接爬下去...

3)pagerank爬虫
这种爬虫更聪明一点,他在判断下一步走向哪里前,先根据现有的知识,将候选链接中每个链接的pagerank计算出来,然后选择那个链接爬下去...

这3种爬虫是爬虫界的典型代表,也许大家觉得,效果最差的应该是BFS爬虫,因为这种爬虫很懒,不会利用自己已经获得的知识,其实这种认识是错误的。 根据研究发现,在很多情况下,效果最差的可能是BackLink爬虫,why?

这 是因为,互联网拓扑结构实在是太复杂了,一点点知识用不好还不如不用。BackLink爬虫经常会陷入到局部极小。举一个例子,一个backlink爬虫 某一天爬进了新浪网,在里面爬了一段时间,他忽然发现,这个网站太好了,很多页面都有比较大的backlink,于是这个爬虫就在sina里不停的爬,由 于sina实在是很大,于是这个爬虫便乐不思蜀,永远也不从sina里出来了,而在他眼里,sina似乎就是整个世界。

所以,如何利用爬虫眼中的互联网去估计整个互联网还是很困难的,难就难在互联网实在是太大了。很多算法,稍不注意就会像上面的例子那样限入到 以偏概全的错误中去。但是,如果老是盲目的爬下去,似乎又对不起已经获得的一些知识,所以, 如何运用已知世界去预测未知世界,是爬虫遇到的最大困难.

那 也许有人要问,现在的搜索引擎爬虫不是都爬的挺好的吗,没发现有上面的问题啊。这是因为,在一个搜索引擎系统中,利用了团结就是力量的道理。在一个真正的 搜索引擎中,不会只有一个爬虫在爬,而是成千上万个爬虫从互联网的不同角落开始爬,而每爬一段时间,他们还会互相交流一下自己对互联网结构的看法。所以即 使一个爬虫会不时的陷入局部极小,但其他爬虫能够把它从坑中拉出来。在这种设计下,一帮很弱的兵整合在一起就会形成一个有战斗力的部队。

但是,对单一爬虫的研究还是很重要的,如果每个爬虫都很强大,那么把他们组合起来,将是一个更强的的部队。 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值