防假死爬虫系统的构建方法

文档序号:6484084阅读:130来源:国知局
专利名称:防假死爬虫系统的构建方法
技术领域
本发明涉及网绍-凄史据采集系统的构建方法,尤其涉及一种防*1死爬虫系统的构建方法。
背景技术
人类步入信息时代,信息爆炸,越来越多铺天盖地的信息压得人喘不过气来。在这种状况下,人们为了快捷地抽出有用的信息从而提高工作、学习等效率,提出并实现了搜索引擎。作为搜索引擎的基础和4叟索引擎处理的凄t据的P舉一来源,爬虫系统的地位和重要性渐渐突显。不同于其他的搜索引擎部件,爬虫是和网络、存储密切相关的,这样就导致外部环境对于爬虫的健壮性起到深刻的影响。现行一般的搜索引擎爬虫系统的健壮性很差,不能适应网络环境和硬件环境多样性,因此导致各种不能正常通信和许多没有必要的等待时间,即导致爬虫的假死状态,浪费大量的时间和牺牲相当一部分的效率。怎样做到爬虫系统具有防假死功能已受到越来越多的学者的关注。目前,还没有一种系统的行之有效的防邗支死爬虫系纟克的构建方法。
爬虫系统不同于搜索引擎的其他部件系统,鉴于其与网络、存储密切相关的性质,为了有效地解决爬虫系统的假死状态,本发明/人网络环境和存^f渚环境出发,从才艮源上有效地解决爬虫系统的布支死状态。

发明内容
针对现有技术存在的问题,本发明的目的是提供一种防假死爬 虫系统的构建方法。
为达到上述目的,本发明的方法包括下列步骤 (1 ) -险测处理祸:请求网页; (2) ^r测处J里网全各响应; (3 )冲企测处理存<诸空间;
(4 )重复执行步骤(1 ) , ( 2 )和(3 ),直到网页超链接全部 处J里完为止。
上述方法中,步骤(l)进一步包括 (11 )向服务器请求网页; (12 )冲企测净皮请求网页是否存在;
(13 )若被请求网页存在,则4是取和存储超链接;若^皮请求网页 不存在,则执行步骤(4)。
上述方法中,步骤(2)进一步包括
(21 )冲全测获取网页的网乡各响应是否太久;
(22) 若获取网页的网络响应是太久,则执行步骤(23);若获 取网页的网络响应不是太久,则执4亍步4聚(3);
(23) 检测重试次数是否到达设定值;
(24) 若检测重试次数到达设定值,则执行步骤(4);若检测 重试次数没有到达设定^直,则执4亍步-骤(25);
(25) 重试获取网页,执行步骤(21)。 上述方法中,步骤(3)进一步包括
(31 )检测存储空间是否不足;(32)若存储空间不足,则特殊处理;若存储空间没有不足,则存4诸网页。
上述方法中,步骤(4)进一步包括
(41 ) 4企测网页超链4妾是否全部处理;
(42) 若网页超链接没有全部处理,则执行步骤(43);若网页超《连4妄是全部处理,则结束;
(43) 获得下一个超链接,执行步骤(44);(44 )执行步骤(1 )。
本发明的有益效果在于,通过应用本发明所描述的方法,可以有效地防止爬虫系统々支死状态的发生;可以显著地减少爬虫系统等待时间和提高爬虫系统的爬抓效率;可以为搭建具有健壮性的爬虫系统提供通用的框架,有效地降低系统开发成本。
结合附图,本发明的其他特点和优点可以乂人下面通过举例来对本发明的原理进行解释的优选实施方式的说明中变得更清楚。


图1是根据本发明的一个实施方式的方法的流程图。
具体实施例方式
下面将结合附图对本发明的具体实施方式
进行详细描述。
图1是根据本发明的一个实施方式的方法的流程图。该流程开始于步骤IOI。然后在步骤102中,向月良务器i青求网页。需要i兌明的是起始超链4妻应当是包含超链接丰富的web网页,如网站的首页等,这仅仅是最优举例,起始超链接的不同不构成对本发明的限制。向服务器请求网页, 一种实施方式是通过HTTP协议GET方 法,即通过给服务器发送GET请求信息,来希望获得URL所指定 的网页。以上是向月良务器请求网页的一个实施例,其他不同的实施 例子不构成对本发明的限制。
步-骤102之后,流程进入步-骤103 。
在步骤103,检测被请求网页是否存在。 一个实施例是通过枱r 测服务器响应后返回的状态码来确定被请求网页是否存在。在步骤 102中通过HTTP协议GET方法给服务器发送请求信息后,服务器 会响应并返回一个状态码,若状态码为404 (NotFound),则i兌明谬皮 请求网页不存在;若状态码不为404 (NotFound),则说明净皮请求网 页存在。以上是斥企测^皮i青求网页是否存在的一个实施例,其^也不同 的实施例子不构成乂t本发明的限制。
若^皮:清求网页不存在,流禾呈进入步4繁112;若^皮:清求网页存在, 流程进入步骤104。
在步骤104,提取超链接。 一个实施例是通过正则表达式技术 匹配网页源代^马中的超《连^妄标i己"href=",其后的部分即为网页的 超链接,匹配^是出即可。以上是^是耳又超链4妻的一个实施例,其他不 同的实施例子不构成对本发明的限制。
步骤104之后,流程进入步骤105。
在步骤105,存储超链4妄。 一个实施例是通过文件系统将超链 接存储到文件中,形成队列的形式。以上是存储超链接的一个实施 例,其他不同的实施例子不构成对本发明的限制。
步骤105之后,流程进入步骤106。在步-骤106, 4全测获耳又网页的网纟各响应是否太久。 一个实施例是首先通过多次记录网络对于获取一个网页的响应时间,计算出平均获取网页的网络响应时间,然后为了确保准确性,将判断获取网页的网络响应是否太久的时间阀值设定平均获取网页的网络响应时间的6 4咅以上。若获耳又当前网页的网全各响应时间大于时间阀<直,则说明获取网页的网络响应太久;若获取当前网页的网络响应时间小于时间阀值,则说明获取网页的网络响应不是太久。以上是#全测获取网页的网络响应是否太久的一个实施例,其他不同的实施例子不构成对本发明的限制。
若获取网页的网络响应太久,流程进入步骤107;若获取网页的网乡各响应不是太久,流禾呈进入步-骤109。
在步骤107, 4全测重试次数是否到达i史定值。 一个实施例是首先人为预先i殳定想要的重试次数,然后通过读耳又重试次lt计lt器的数值,来检测步骤108执行的次数。若步骤108执行的次数大于预先设定的重试次数,则说明获取该网页的网络响应时间达到能够容忍的极限了,没有再继续处理该网页的必要了;若步骤108执行的次数小于预先设定的重试次数,则说明获取该网页的网络响应时间还没有达到能够容忍的才及限,继续处理该网页。以上是检测重试次数是否到达设定值的一个实施例,其他不同的实施例子不构成对本发明的限制。
若步骤108执行的次数大于预先设定的重试次数,流程进入步骤112;若步骤108执行的次数小于预先设定的重试次数,流程进入步骤108。
在步骤108,重试获耳又网页。 一个实施例是通过HTTP协议给服务器发送获耳又当前网页实体的请求,并且将重试次f丈计凄t器加一,以便在步骤107中检测步骤108执行的次数。以上是重试获取 网页的一个实施例,其他不同的实施例子不构成对本发明的限制。
步骤108之后,流程进入步骤106。
在步骤109,冲全测存储空间是否不足。 一个实施例是通过直4妻 读取存储器的剩余空间数值来判断存储空间是否不足。为了确保存 储器的安全,可预先设定存储器的剩余空间极限值为IOOM。需要 指出的是此处100M仅仅为举例,其他数值不构成对本发明的限制, 但为了确保存储器的安全,最好不要低于IOOM。若读取的存储器 剩余空间数值大于剩余空间极限值,则说明存储空间是充足的;若 读取的存储器剩余空间数值小于剩余空间极限值,则说明存储空间 是不足的。以上是^r测存储空间是否不足的一个实施例,其他不同 的实施例子不构成对本发明的限制。
若读取的存储器剩余空间数值大于剩余空间极限值,流程进入 步骤111;若读取的存储器剩余空间数值小于剩余空间极限值,流 程进入步骤110。
在步骤110,特殊处理。 一个实施例是通过切换到备用存〗诸器 来避免存储空间的不足。另一个实施例是通过直4妻结束爬虫系统来 保护存储器不受到损害。以上是特殊处理的两个不同的实施例,其 他不同的实施例子不构成对本发明的限制。
在步骤111,存储网页。 一个实施例是通过数据库技术来存储 网页数据,以便于管理。以上是存储网页的一个实施例,其他不同 的实施例子不构成对本发明的限制。
步骤lll之后,流程进入步骤112。在步骤112,检测网页超链接是否全部处理。 一个实施例是通过字符串比较技术,比较在步骤105中存储的超链接文件队列的尾
否全部处理。若两者相同,则"i兌明网页超《连4姿全部处理完;若两者不相同,则说明网页超链接没有全部处理完。以上是4企测网页超链接是否全部处理的 一个实施例,其他不同的实施例子不构成对本发明的限制。
若网页超链接全部处理完,流程进入步骤114;若网页超链接没有全部处理完,流禾呈进入步-骤113。
在步骤113,获得下一个超链接。 一个实施例是通过字符串比较技术,在步骤105中存储的超链接文件队列中提取出当前正在处理的网页超链接的下一个超链接。以上是获得下一个超链接的一个实施例,其他不同的实施例子不构成只于本发明的限制。
步骤113之后,流禾呈进入步骤102。
在步驶《114,结束。
以上结合附图描述了本发明的具体实施方式
,各种举例说明不对发明的实质内容构成限制,本发明不限于上面提供的实施细节,可以在不脱离本发明特征的情况下以另外的实施例实现。所属技术领域的普通4支术人员在阅读了 "i兌明书后可以对以前所述的具体实施方式
估文^修改或变形,而不背离发明的实质和范围。
10
权利要求
1. 一种防假死爬虫系统的构建方法,其特征在于包括下列步骤(1)检测处理被请求网页;(2)检测处理网络响应;(3)检测处理存储空间;(4)重复执行步骤(1),(2)和(3),直到网页超链接全部处理完为止。
2.根据权利要求1所述的防假死爬虫系统的构建方法,其特征在 于步骤(1 )进一步包括(11 )向服务器请求网页;(12)才全测祐 清求网页是否存在;(13 )若被请求网页存在,则提取和存储超链接;若被 i青求网页不存在,则扭^亍步-骤(4)。
3.根据权利要求1所述的防假死爬虫系统的构建方法,其特征在 于步骤(2)进一步包括(21) 4企测获取网页的网症各响应是否太久;(22) 若获取网页的网络响应是太久,则执行步骤(23); 若获取网页的网络响应不是太久,则执行步骤(3);(23) 检测重试次数是否到达设定值;(24) 若检测重试次数到达设定值,则执行步骤(4); 若检测重试次数没有到达设定值,则执行步骤(25);(25)重试获取网页,执行步骤(21)。
4. 根据权利要求1所述的防假死爬虫系统的构建方法,其特征在 于步骤(3)进一步包括(31 ) 4全测存储空间是否不足;(32)若存储空间不足,则特殊处理;若存储空间没有 不足,则存〗诸网页。
5.才艮据片又利要求1所述的防作I死爬虫系统的构建方法,其特4i在 于步骤(4)进一步包括(41 );险测网页超链4妻是否全部处理;(42) 若网页超《连4妄没有全部处理,则扭j亍步艰艮(43); 若网页超链接是全部处理,则结束;(43) 获得下一个超链接,执行步骤(44);(44) 执行步骤(1 )。
全文摘要
本发明公开了一种防假死爬虫系统的构建方法,该方法包括下列步骤(1)检测处理被请求网页;(2)检测处理网络响应;(3)检测处理存储空间;(4)重复执行步骤(1),(2)和(3),直到网页超链接全部处理完为止。通过应用本发明所描述的方法,可以有效地防止爬虫系统假死状态的发生;可以显著地减少爬虫系统等待时间和提高爬虫系统的爬抓效率;可以为搭建具有健壮性的爬虫系统提供通用的框架,有效地降低系统开发成本。
文档编号G06F17/30GK101504665SQ200910080438
公开日2009年8月12日 申请日期2009年3月18日 优先权日2009年3月18日
发明者徐蔚然, 溥 杨, 军 郭 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1