爬虫基本原理及概念

爬虫在网络中爬行的时候,将Web 上的网页集合看成是一个有向图,从给定的起始
URL 开始,沿着网页中的链接,按照一定的策略进行。通常用到以下几种遍历算法:
1、深度优先算法
该算法是指网络爬虫会从选定的一个超链接开始,按照一条线路,一个一个链接访
问下去,直到达到这条线路的叶子节点,即不包含任何超链接的HTML 文件,处理完这
条线路之后再转入下一个起始页,继续访问新的起始页面所包含的链接中的一条,直到
到达叶子结点。这个方法有个优点是网络爬虫在设计的时候比较容易。
2、广度优先算法
广度优先算法是指网络爬虫会先抓取起始网页中包含链接的所有网页,然后再选择
其中的一个链接网页,继续抓取在这个网页中链接的所有网页。这种搜索方法是实现通
用网络爬虫的最佳方法,因为它的特点是易于实现,并且能够避免陷进一个无穷尽的深
层分支中去,可以让网络爬虫并行处理,从而提高其抓取速度。
3、启发式搜索算法
源于人工智能,即先通过在线获得的领域知识评价待访问链接的价值,借以推断信
息资源的分布情况,然后按一定的原则选择价值最大的链接进行下一步的搜索,找到到
达目标节点的最佳路径,删除不好节点,保留那些好的节点,该算法主要用于主题爬虫。

分布式网络爬虫可以看做由多个集中式网络爬虫组合而成。分布式系统中的每个节
点都可以看作一个集中式网络爬虫。分布式爬虫与集中式爬虫工作原理基本相同,但前
者需要各个节点协作完成网页的爬行,从而使得分布式爬虫的效率远远高于集中式爬
虫。分布式爬虫的系统结构有很多种,工作方式也各不相同。对于典型的分布式爬虫系
统,它的每个节点不仅从web 页面获得URL,同时也从其它节点接收URL。然后节点
对URL 对应的网页进行解析,并将不属于自己爬行范围的URL 转发给其它节点。

猜你喜欢

转载自wangwei3.iteye.com/blog/791736