CN101504665A - 防假死爬虫系统的构建方法 - Google Patents
防假死爬虫系统的构建方法 Download PDFInfo
- Publication number
- CN101504665A CN101504665A CNA2009100804384A CN200910080438A CN101504665A CN 101504665 A CN101504665 A CN 101504665A CN A2009100804384 A CNA2009100804384 A CN A2009100804384A CN 200910080438 A CN200910080438 A CN 200910080438A CN 101504665 A CN101504665 A CN 101504665A
- Authority
- CN
- China
- Prior art keywords
- webpage
- execution
- hyperlink
- detect
- mimic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明公开了一种防假死爬虫系统的构建方法,该方法包括下列步骤:(1)检测处理被请求网页;(2)检测处理网络响应;(3)检测处理存储空间;(4)重复执行步骤(1),(2)和(3),直到网页超链接全部处理完为止。通过应用本发明所描述的方法,可以有效地防止爬虫系统假死状态的发生;可以显著地减少爬虫系统等待时间和提高爬虫系统的爬抓效率;可以为搭建具有健壮性的爬虫系统提供通用的框架,有效地降低系统开发成本。
Description
技术领域
本发明涉及网络数据采集系统的构建方法,尤其涉及一种防假死爬虫系统的构建方法。
背景技术
人类步入信息时代,信息爆炸,越来越多铺天盖地的信息压得人喘不过气来。在这种状况下,人们为了快捷地抽出有用的信息从而提高工作、学习等效率,提出并实现了搜索引擎。作为搜索引擎的基础和搜索引擎处理的数据的唯一来源,爬虫系统的地位和重要性渐渐突显。不同于其他的搜索引擎部件,爬虫是和网络、存储密切相关的,这样就导致外部环境对于爬虫的健壮性起到深刻的影响。现行一般的搜索引擎爬虫系统的健壮性很差,不能适应网络环境和硬件环境多样性,因此导致各种不能正常通信和许多没有必要的等待时间,即导致爬虫的假死状态,浪费大量的时间和牺牲相当一部分的效率。怎样做到爬虫系统具有防假死功能已受到越来越多的学者的关注。目前,还没有一种系统的行之有效的防假死爬虫系统的构建方法。
爬虫系统不同于搜索引擎的其他部件系统,鉴于其与网络、存储密切相关的性质,为了有效地解决爬虫系统的假死状态,本发明从网络环境和存储环境出发,从根源上有效地解决爬虫系统的假死状态。
发明内容
针对现有技术存在的问题,本发明的目的是提供一种防假死爬虫系统的构建方法。
为达到上述目的,本发明的方法包括下列步骤:
(1)检测处理被请求网页;
(2)检测处理网络响应;
(3)检测处理存储空间;
(4)重复执行步骤(1),(2)和(3),直到网页超链接全部处理完为止。
上述方法中,步骤(1)进一步包括:
(11)向服务器请求网页;
(12)检测被请求网页是否存在;
(13)若被请求网页存在,则提取和存储超链接;若被请求网页不存在,则执行步骤(4)。
上述方法中,步骤(2)进一步包括:
(21)检测获取网页的网络响应是否太久;
(22)若获取网页的网络响应是太久,则执行步骤(23);若获取网页的网络响应不是太久,则执行步骤(3);
(23)检测重试次数是否到达设定值;
(24)若检测重试次数到达设定值,则执行步骤(4);若检测重试次数没有到达设定值,则执行步骤(25);
(25)重试获取网页,执行步骤(21)。
上述方法中,步骤(3)进一步包括:
(31)检测存储空间是否不足;
(32)若存储空间不足,则特殊处理;若存储空间没有不足,则存储网页。
上述方法中,步骤(4)进一步包括:
(41)检测网页超链接是否全部处理;
(42)若网页超链接没有全部处理,则执行步骤(43);若网页超链接是全部处理,则结束;
(43)获得下一个超链接,执行步骤(44);
(44)执行步骤(1)。
本发明的有益效果在于,通过应用本发明所描述的方法,可以有效地防止爬虫系统假死状态的发生;可以显著地减少爬虫系统等待时间和提高爬虫系统的爬抓效率;可以为搭建具有健壮性的爬虫系统提供通用的框架,有效地降低系统开发成本。
结合附图,本发明的其他特点和优点可以从下面通过举例来对本发明的原理进行解释的优选实施方式的说明中变得更清楚。
附图说明
图1是根据本发明的一个实施方式的方法的流程图。
具体实施方式
下面将结合附图对本发明的具体实施方式进行详细描述。
图1是根据本发明的一个实施方式的方法的流程图。该流程开始于步骤101。然后在步骤102中,向服务器请求网页。需要说明的是起始超链接应当是包含超链接丰富的web网页,如网站的首页等,这仅仅是最优举例,起始超链接的不同不构成对本发明的限制。
向服务器请求网页,一种实施方式是通过HTTP协议GET方法,即通过给服务器发送GET请求信息,来希望获得URL所指定的网页。以上是向服务器请求网页的一个实施例,其他不同的实施例子不构成对本发明的限制。
步骤102之后,流程进入步骤103。
在步骤103,检测被请求网页是否存在。一个实施例是通过检测服务器响应后返回的状态码来确定被请求网页是否存在。在步骤102中通过HTTP协议GET方法给服务器发送请求信息后,服务器会响应并返回一个状态码,若状态码为404(NotFound),则说明被请求网页不存在;若状态码不为404(NotFound),则说明被请求网页存在。以上是检测被请求网页是否存在的一个实施例,其他不同的实施例子不构成对本发明的限制。
若被请求网页不存在,流程进入步骤112;若被请求网页存在,流程进入步骤104。
在步骤104,提取超链接。一个实施例是通过正则表达式技术匹配网页源代码中的超链接标记“href=”,其后的部分即为网页的超链接,匹配提出即可。以上是提取超链接的一个实施例,其他不同的实施例子不构成对本发明的限制。
步骤104之后,流程进入步骤105。
在步骤105,存储超链接。一个实施例是通过文件系统将超链接存储到文件中,形成队列的形式。以上是存储超链接的一个实施例,其他不同的实施例子不构成对本发明的限制。
步骤105之后,流程进入步骤106。
在步骤106,检测获取网页的网络响应是否太久。一个实施例是首先通过多次记录网络对于获取一个网页的响应时间,计算出平均获取网页的网络响应时间,然后为了确保准确性,将判断获取网页的网络响应是否太久的时间阀值设定平均获取网页的网络响应时间的6倍以上。若获取当前网页的网络响应时间大于时间阀值,则说明获取网页的网络响应太久;若获取当前网页的网络响应时间小于时间阀值,则说明获取网页的网络响应不是太久。以上是检测获取网页的网络响应是否太久的一个实施例,其他不同的实施例子不构成对本发明的限制。
若获取网页的网络响应太久,流程进入步骤107;若获取网页的网络响应不是太久,流程进入步骤109。
在步骤107,检测重试次数是否到达设定值。一个实施例是首先人为预先设定想要的重试次数,然后通过读取重试次数计数器的数值,来检测步骤108执行的次数。若步骤108执行的次数大于预先设定的重试次数,则说明获取该网页的网络响应时间达到能够容忍的极限了,没有再继续处理该网页的必要了;若步骤108执行的次数小于预先设定的重试次数,则说明获取该网页的网络响应时间还没有达到能够容忍的极限,继续处理该网页。以上是检测重试次数是否到达设定值的一个实施例,其他不同的实施例子不构成对本发明的限制。
若步骤108执行的次数大于预先设定的重试次数,流程进入步骤112;若步骤108执行的次数小于预先设定的重试次数,流程进入步骤108。
在步骤108,重试获取网页。一个实施例是通过HTTP协议给服务器发送获取当前网页实体的请求,并且将重试次数计数器加一,以便在步骤107中检测步骤108执行的次数。以上是重试获取网页的一个实施例,其他不同的实施例子不构成对本发明的限制。
步骤108之后,流程进入步骤106。
在步骤109,检测存储空间是否不足。一个实施例是通过直接读取存储器的剩余空间数值来判断存储空间是否不足。为了确保存储器的安全,可预先设定存储器的剩余空间极限值为100M。需要指出的是此处100M仅仅为举例,其他数值不构成对本发明的限制,但为了确保存储器的安全,最好不要低于100M。若读取的存储器剩余空间数值大于剩余空间极限值,则说明存储空间是充足的;若读取的存储器剩余空间数值小于剩余空间极限值,则说明存储空间是不足的。以上是检测存储空间是否不足的一个实施例,其他不同的实施例子不构成对本发明的限制。
若读取的存储器剩余空间数值大于剩余空间极限值,流程进入步骤111;若读取的存储器剩余空间数值小于剩余空间极限值,流程进入步骤110。
在步骤110,特殊处理。一个实施例是通过切换到备用存储器来避免存储空间的不足。另一个实施例是通过直接结束爬虫系统来保护存储器不受到损害。以上是特殊处理的两个不同的实施例,其他不同的实施例子不构成对本发明的限制。
在步骤111,存储网页。一个实施例是通过数据库技术来存储网页数据,以便于管理。以上是存储网页的一个实施例,其他不同的实施例子不构成对本发明的限制。
步骤111之后,流程进入步骤112。
在步骤112,检测网页超链接是否全部处理。一个实施例是通过字符串比较技术,比较在步骤105中存储的超链接文件队列的尾部和当前正在处理的网页的超链接是否相同来判断网页超链接是否全部处理。若两者相同,则说明网页超链接全部处理完;若两者不相同,则说明网页超链接没有全部处理完。以上是检测网页超链接是否全部处理的一个实施例,其他不同的实施例子不构成对本发明的限制。
若网页超链接全部处理完,流程进入步骤114;若网页超链接没有全部处理完,流程进入步骤113。
在步骤113,获得下一个超链接。一个实施例是通过字符串比较技术,在步骤105中存储的超链接文件队列中提取出当前正在处理的网页超链接的下一个超链接。以上是获得下一个超链接的一个实施例,其他不同的实施例子不构成对本发明的限制。
步骤113之后,流程进入步骤102。
在步骤114,结束。
以上结合附图描述了本发明的具体实施方式,各种举例说明不对发明的实质内容构成限制,本发明不限于上面提供的实施细节,可以在不脱离本发明特征的情况下以另外的实施例实现。所属技术领域的普通技术人员在阅读了说明书后可以对以前所述的具体实施方式做修改或变形,而不背离发明的实质和范围。
Claims (5)
1.一种防假死爬虫系统的构建方法,其特征在于包括下列步骤:
(1)检测处理被请求网页;
(2)检测处理网络响应;
(3)检测处理存储空间;
(4)重复执行步骤(1),(2)和(3),直到网页超链接全部处理完为止。
2.根据权利要求1所述的防假死爬虫系统的构建方法,其特征在于:步骤(1)进一步包括:
(11)向服务器请求网页;
(12)检测被请求网页是否存在;
(13)若被请求网页存在,则提取和存储超链接;若被请求网页不存在,则执行步骤(4)。
3.根据权利要求1所述的防假死爬虫系统的构建方法,其特征在于:步骤(2)进一步包括:
(21)检测获取网页的网络响应是否太久;
(22)若获取网页的网络响应是太久,则执行步骤(23);若获取网页的网络响应不是太久,则执行步骤(3);
(23)检测重试次数是否到达设定值;
(24)若检测重试次数到达设定值,则执行步骤(4);若检测重试次数没有到达设定值,则执行步骤(25);
(25)重试获取网页,执行步骤(21)。
4.根据权利要求1所述的防假死爬虫系统的构建方法,其特征在于:步骤(3)进一步包括:
(31)检测存储空间是否不足;
(32)若存储空间不足,则特殊处理;若存储空间没有不足,则存储网页。
5.根据权利要求1所述的防假死爬虫系统的构建方法,其特征在于:步骤(4)进一步包括:
(41)检测网页超链接是否全部处理;
(42)若网页超链接没有全部处理,则执行步骤(43);若网页超链接是全部处理,则结束;
(43)获得下一个超链接,执行步骤(44);
(44)执行步骤(1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100804384A CN101504665A (zh) | 2009-03-18 | 2009-03-18 | 防假死爬虫系统的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100804384A CN101504665A (zh) | 2009-03-18 | 2009-03-18 | 防假死爬虫系统的构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101504665A true CN101504665A (zh) | 2009-08-12 |
Family
ID=40976911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009100804384A Pending CN101504665A (zh) | 2009-03-18 | 2009-03-18 | 防假死爬虫系统的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101504665A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069684A (zh) * | 2017-09-30 | 2019-07-30 | 北京国双科技有限公司 | 一种数据爬取方法、装置、存储介质及处理器 |
-
2009
- 2009-03-18 CN CNA2009100804384A patent/CN101504665A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069684A (zh) * | 2017-09-30 | 2019-07-30 | 北京国双科技有限公司 | 一种数据爬取方法、装置、存储介质及处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2999276B1 (en) | Method and terminal for reporting sensor data | |
CN103023939A (zh) | 在Nginx上实现云缓存的REST接口的方法和系统 | |
CN101777068B (zh) | 一种用于移动通讯设备终端的网页页面预读及整合浏览系统及其应用方法 | |
AU2016382908A1 (en) | Short link processing method, device and server | |
CN102752288A (zh) | 网络访问行为识别方法和装置 | |
CN104516979A (zh) | 一种基于二次检索的数据查询方法及系统 | |
US11330035B2 (en) | Method and server for HTTP protocol-based data request | |
CN104184832A (zh) | 网络应用中的数据提交方法及装置 | |
CN101588344A (zh) | 一种网络系统中控制同一帐户登录的系统及方法 | |
CN103593772A (zh) | 用于实现商品收藏及状态变化提醒的方法、装置和系统 | |
CN103345498A (zh) | 基于中转服务器的网页加载方法、装置及系统 | |
CN105610899B (zh) | 一种文本文件并行上传方法及装置 | |
CN105938472A (zh) | 一种网页访问控制方法和装置 | |
CN104298780A (zh) | 一种浏览器网页信息的预获取方法及系统 | |
CN105528357A (zh) | 一种基于url和网页文档结构的相似性的网页内容提取方法 | |
CN103955517B (zh) | 将文档型数据库的数据转换至关系型数据库的方法及系统 | |
CN104199893A (zh) | 一种快速将全媒体内容发布的系统和方法 | |
CN110704721A (zh) | 客户端数据处理方法、装置、终端设备及可读存储介质 | |
CN101504665A (zh) | 防假死爬虫系统的构建方法 | |
CN103067467B (zh) | 缓存方法及装置 | |
CN101789105A (zh) | 一种在数据包的级别动态检测邮件附件病毒的方法 | |
CN108960801A (zh) | 基于区块链技术的交易记录管理方法、系统及存储介质 | |
CN101499096A (zh) | 分布式爬虫集群系统 | |
CN103631944A (zh) | 一种基于内容相似的网页分割方法 | |
CN110377598B (zh) | 一种基于智能制造过程的多源异构数据存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090812 |