Advertisement

网络爬虫学习笔记(一) 网络爬虫概述

阅读量:

1 什么是网络爬虫

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

上面是百度百科的定义,网络爬虫其实就是指,在现有的互联网中,各个终端设备间构造成了一个像蜘蛛网络一样的东西,程序通过一定的逻辑或者是自定义的方式访问每个节点的数据,这段程序被称作为网络爬虫。

2 网络爬虫的基本结构

爬虫的基本结构框架流程图如下:

网络爬虫的基本框架如下:

复制代码
    1 首先需要一个已知的种子url库
    2 读取已知的种子url集合到带抓取集合中
    3 抓取线程读取带抓取集合中的种子url,进行抓取解析
    4 将解析到的结果存储到指定的位置中
    5 将抓取过的url插入到已抓取的队列中

3 网络爬虫的抓取策略

1 宽度优先遍历策略

宽度优先遍历策略是最简单的遍历方式,爬虫通过抓取种子url,解析到需要的链接地址后,将这个链接地址直接添加到带抓取的url队列中

具体的抓取顺序为: A -> B -> C -> D -> E -> F

2 深度优先遍历策略

深度优先遍历策略主要是通过抓取种子url后,对新抓到的链接地址立即进行抓取,知道抓取到最深度,也就是没有在满足要求的链接地址为止。具体的抓取顺序如下:
A -> B -> D -> E -> C -> F

3 非完全PageRank页面

PageRank算法是google提出来的,主要是用于分析页面的重要性上,页面重要性的衡量主表为:

复制代码
    1 入链的个数
    2 页面质量

针对某个互联网网页A来说,该页面的PageRank的计算基于以下两个假设:

复制代码
    1 数量假设:如果一个页面节点接收到的其他页面的执行的入链数越多,那么这个页面越重要
    2 质量假设:指向页面A的入链的质量不同,质量高的页面通过连接其他页面传递质量,越是质量高的页面执行A,则A越重要

通过以上两个假设,PageRank算法刚开始赋予每个页面相同的质量权重,通过迭代递归计算的方式,来更新每个页面的PageRank的得分,知道得分稳定为止。

而PageRank是全局性算法,也就是当网页下载下来以后再计算是可靠的,在抓取过程中网页的数量在增加,每个页面的入链和质量都在改变,因此PageRank的值是不可能给出的。

基于这个事实情况,做出了如下改动:如果定义一个阈值K,每当下载了K个页面,就重新计算一次PageRank的值。

4 OPIC策略

OPIC是指Online Page Importance Computation,也就是指在线页面重要新计算,可以看做是一种改进型的PageRank算法。基本的思想:在页面初始阶段给定每个页面相同的“现金”,每当下载某个页面P后,P将自己拥有的“现金”平均分给页面中包含的链接页面,同时把自己的“现金”清空。而对于链接页面,将根据每个页面的“现金”的多少进行排序,优先下载”现金“充裕的链接页面。

5 大站优先策略

以网站来衡量页面的重要性,根据对带抓取的链接url进行按照网站进行分类,如果那个网站等待下载的页面最多,则优先下载这些链接。

全部评论 (0)

还没有任何评论哟~