页面检测方法及客户端的制作方法

文档序号:9765968阅读:317来源:国知局
页面检测方法及客户端的制作方法
【技术领域】
[0001]本发明涉及页面检测领域,特别是涉及一种页面检测方法及客户端。
【背景技术】
[0002]随着网络科技的发展,功能更加完善的第二代互联网越来越受到人们的青睐。因此,根据第二代互联网制作相关内容的网站也逐渐增多。但现有技术中基于第一代互联网开发的爬虫引擎无法适应根据第二代互联网制作相关内容的网站。例如基于第一代互联网开发的爬虫引擎无法抓取大部分基于第二代互联网制作相关内容的网站的链接,不能够自动获取和/或触发基于第二代互联网自制相关内容的网站的异步事件和其他事件。
[0003]因此,现有技术中基于第一代互联网开发的爬虫引擎无法全面对页面进行检测,进而造成对用户的检索操作造成不良影响等后果。

【发明内容】

[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的页面检测方法和相应的客户端。
[0005]依据本发明的一个方面,提供了一种页面检测方法,包括:在针对网络进行旁路侦听的过程中抓取数据请求包,其中,所述数据请求包至少包括超文本传输协议请求包;确定所述数据请求包对应的链接是否为新链接,其中,所述新链接为链接库中未保存的链接;若是,利用所述对应的链接生成待爬虫库;提取所述待爬虫库中的任一链接:获取与所述任一链接对应的页面;提取所述页面的所有节点;根据所述所有节点检测所述页面是否包含所述新链接;当检测结果为是,获取所述新链接,并添加至所述待爬虫库,以供后续执行页面检测使用。
[0006]可选地,根据所述所有节点检测所述页面是否包含所述新链接,包括:提取所述所有节点中的所有动态节点,其中,所述动态节点包括HTML节点;获取与所述所有动态节点一一对应的属性值;根据所述属性值检测所述所有动态节点中是否包含新链接;若是,则所述页面包含所述新链接;若否,则所述页面不包含所述新链接。
[0007]可选地,根据所述属性值检测所述所有动态节点中是否包含新链接,包括:根据所述属性值获取所述所有动态节点包含的所有事件,并保存至事件库;遍历所述事件库,依次触发所述事件库中的任一事件;判断所述触发操作是否生成所述新链接;若是,则所述所有动态节点中包含所述新链接;若否,则所述所有动态节点中不包含所述新链接。
[0008]可选地,依次触发所述事件库中的任一事件,包括:根据事件的类型选择相应的函数来触发所述事件。
[0009]可选地,所述根据事件的类型选择相应的函数来触发所述事件,包括:若所述事件的类型为鼠标单击事件,调用由Chrome浏览器的WebKit:: WebElement提供的鼠标单击函数来触发所述鼠标单击事件。
[0010]可选地,根据所述属性值获取所述所有动态节点包含的所有事件,包括:提取所述属性值中任一属性值;根据所述任一属性值判断与其对应的动态节点中是否包含事件;若是,保存所述事件至事件库,并重复所述提取操作以及所述判断操作,直至保存所述所有动态节点包含的所有事件至事件库;若否,直接重复所述提取操作以及所述判断操作,直至保存所述所有动态节点包含的所有事件至事件库。
[0011]可选地,根据所述任一属性值判断与其对应的动态节点中是否包含事件,包括:通过调用 Chrome 浏览器的 WebCore::EventTarget::hasEventListeners ()函数判断与所述任一属性值对应的动态节点是否包含事件。
[0012]可选地,提取所述所有节点中的所有动态节点之后,还包括:获取与所述所有动态节点--对应的链接;判断所述对应的链接是否为所述新链接;若是,添加所述新链接至所述待爬虫库,以供后续执行页面检测使用。
[0013]可选地,获取与所述任一链接对应的页面之后,还包括:在所述待爬虫库中删除所述任一链接。
[0014]依据本发明的另一方面,还提供了一种页面检测客户端,包括:生成模块,包括抓取单元、确定单元以及生成单元,其中,所述抓取单元,适于在针对网络进行旁路侦听的过程中抓取数据请求包,其中,所述数据请求包至少包括超文本传输协议请求包;所述确定单元,适于确定所述数据请求包对应的链接是否为新链接,其中,所述新链接为链接库中未保存的链接;所述生成单元,适于若是,利用所述对应的链接生成待爬虫库;提取模块,适于提取所述待爬虫库中的任一链接;获取模块,适于获取与所述任一链接对应的页面;所述提取模块,还适于提取所述页面的所有节点;检测模块,适于根据所述所有节点检测所述页面是否包含所述新链接;添加模块,适于当检测结果为是,获取所述新链接,并添加至所述待爬虫库,以供后续执行页面检测使用。
[0015]可选地,所述页面检测客户端还包括:所述提取模块,还适于提取所述所有节点中的所有动态节点,其中,所述动态节点包括HTML节点;所述获取模块,还适于获取与所述所有动态节点一一对应的属性值;所述检测模块,还适于根据所述属性值检测所述所有动态节点中是否包含新链接;确定模块,适于若是,则所述页面包含所述新链接;以及,若否,则所述页面不包含所述新链接。
[0016]可选地,所述检测模块还适于:根据所述属性值获取所述所有动态节点包含的所有事件,并保存至事件库;遍历所述事件库,依次触发所述事件库中的任一事件;判断所述触发操作是否生成所述新链接;若是,则所述所有动态节点中包含所述新链接;若否,则所述所有动态节点中不包含所述新链接。
[0017]可选地,所述检测模块还适于:根据事件的类型选择相应的函数来触发所述事件。
[0018]可选地,所述检测模块还适于:若所述事件的类型为鼠标单击事件,调用由Chrome浏览器的WebKit::WebElement提供的鼠标单击函数来触发所述鼠标单击事件。
[0019]可选地,所述检测模块还包括:提取单元,适于提取所述属性值中任一属性值;判断单元,适于根据所述任一属性值判断与其对应的动态节点中是否包含事件;处理单元,适于若是,保存所述事件至事件库,并处罚所述提取单元重复所述提取操作以及后续操作,直至保存所述所有动态节点包含的所有事件至事件库;若否,直接处罚所述提取单元重复所述提取操作以及后续操作,直至保存所述所有动态节点包含的所有事件至事件库。
[0020]可选地,所述判断单元还适于:通过调用Chrome浏览器的WebCore::EventTarget::hasEventListeners ()函数判断与所述任一属性值对应的动态节点是否包含事件。
[0021]可选地,所述页面检测客户端还包括:所述获取模块,还适于获取与所述所有动态节点一一对应的链接;所述检测模块,还适于判断所述对应的链接是否为所述新链接;所述添加模块,还适于若是,添加所述新链接至所述待爬虫库,以供后续执行页面检测使用。
[0022]可选地,所述页面检测客户端还包括:删除模块,适于所述获取模块获取与所述任一链接对应的页面之后,在所述待爬虫库中删除所述任一链接。
[0023]依据本发明实施例提供的页面检测方法,能够在针对网络进行旁路侦听的过程中抓取数据请求包,确定数据请求包对应的链接是否为新链接。当确定数据请求包对应的链接为新链接,则利用对应的链接生成待爬虫库。生成待爬虫库之后,提取待爬虫库中的任一链接,并获取与任一链接对应的页面,提取页面的所有节点,根据所有节点检测页面是否包含新链接,当检测结果为是,获取新链接,添加至待爬虫库,以供后续执行页面检测使用,解决了现有技术中不能够自动获取和/或触发网页里的事件的问题。依据本发明实施例提供的页面检测方法,能够针对待爬虫库中的任一链接,判断该链接对应的页面中是否包含新链接,达到自动抓取基于第二代互联网制作相关内容的网站的链接,完善爬虫操作效果的有益效果。
[0024]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
[0025]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
【附图说明】
[0026]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0027]图1示出了根据本发明一个实施例的页面检测方法的处理流程图;
[0028]图2示出了根据本发明一个优选实施例的根据所有节点检测页面是否包含新链接的处理流程图;
[0029]图3示出了根据本发明一个优选实施例的根据属性值检测所有动态节点中是否包含新链接的处理流程图;
[0030]图4示出了根据本发明一个优选实施例的页面检测方法的处理流程图;
[0031]图5示出了根据本发明一个实施例的页面检测客户端的结构示意图;以及
[0032]图6示出了根据本发明一个优选实施例的页面检测客户端的结构示意图。
【具体实施方式】
[0033]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0034]相关技术中提及,若无法全面对页面进行检测,例如基于第一代互联网开发的爬虫引擎无法抓取大部分基于第二代互联网制作相关内容的网站的链接,不能够自动获取和/或触发基于第二代互联网自制相关内容的网站的异步事件和其他事件,将造成对用户的检索操作造成不良影响等后果。
[0035]为解决上述技术问题,本发明实施例提供了一种页面检测方法。图1示出了根据本发明一个实施例的页面检测方法的处理流程图。参见图1,本发明实施例的页面检测方法只是包括步骤S102至步骤SI 16。
[0036]步骤S102、在针对网络
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1