基于机器学习的自适应动态网页爬虫系统的实现方法与流程

文档序号:12462903阅读:551来源:国知局
基于机器学习的自适应动态网页爬虫系统的实现方法与流程

本发明涉及一种计算机技术,具体而言,涉及一种基于机器学习的自适应动态网页爬虫系统。



背景技术:

由于动态网页具有交互性强、交互数据复杂的特点,目前的动态网页爬虫程序的编写需要软件开发人员对页面代码及交互规则进行具体的分析研究。这些分析研究的工作量随着交互过程和交互数据的复杂性增加而成倍的增加。同时,各网站页面的交互规则不同,导致针对某一网站进行的分析研究工作缺少可复用性,大大增加了动态网页爬虫程序的编写工作量。



技术实现要素:

本发明实施例中提供一种基于机器学习的自适应动态网页爬虫系统的实现方法,以解决上述至少一个问题。

为解决上述技术问题,本发明实施例提供了一种基于机器学习的自适应动态网页爬虫系统的实现方法,包括:动态网页路径选择模块根据输入信息获取所有联通的交互路径集合;动态网页路径自适应训练模块对动态网页路径选择模块输出的交互路径集合中的进行实时排序,形成交互路径列表;动态网页数据抓取模块对交互路径列表中的n条最优路径进行动态页面抓取,并将结果反馈给动态网页路径自适应训练模块,更新交互路径列表;其中,输入信息包括下列中的一个或多个:入口网页地址、目标网页地址、交互过程使用的初始输入数据、目标信息数据结构、和抓取网页范围列表。

进一步地,联通的交互路径集合包括从入口网页地址出发、到目标网页地址截止的交互路径和网络数据交互信息。

进一步地,根据输入信息获取所有联通的交互路径集合的步骤包括:用浏览器内核,通过模拟用户行为的方式访问入口网页,同时设置并初始化操作树;用xpath、正则表达式或自定义编程的方式分析页面结构,调用浏览器内核,模拟用户行为,将初始输入数据输入至网页相应区域;通过模拟用户行为的方式进行交互操作,进入下一可达页面;并将操作源网页地址、操作目标网页地址、操作方法、网络交互接口、网络交互数据封装为一个节点,插入到操作树的相应位置。

进一步地,动态网页路径选择模块根据网页初始信息获取所有联通的交互路径集合的步骤还包括:若当前网页地址为输入信息中指定的目标网页地址,则将当前页面判定为目标网页;若当前网页地址非目标网页地址,判断下一页面的主页是否在输入信息的抓取网页范围列表中,或是否无下一可达页面;当下一页面的主页不在输入信息的抓取网页范围列表中,或无下一可达页面,则判断当前网页中是否包含具有输入信息中指定的目标信息数据结构的数据;若当前网页包含输入信息中指定的目标信息数据结构的数据,则将当前页面判定为目标网页,并将操作树中当前网页的子节点到根节点的路径加入至输入信息中。

进一步地,对动态网页路径选择模块输出的交互路径集合中的进行实时排序,形成交互路径列表的步骤包括:接收动态网页路径选择模块输出的交互路径集合以及初始配置信息、初始数据、数据抓取结果,并对输入的交互路径集合中的路径进行排序;输出排序后的交互路径列表,形成交互路径列表。

进一步地,对交互路径集合中的进行实时排序通过如下公式进行:

路径指标=(输入路径集合中最长路径长度-路径长)*ω路径长度+路径访问健壮性*ω路径访问健壮度;其中各权重ω值由初始配置信息给出,路径指标计算公式中的路径长度为输入路径所包含的节点数,路径指标与路径长度成反比,路径访问健壮性数值初始值为0。

进一步地,更新交互路径列表包括:动态网页数据抓取模块从动态网页路径自适应训练模块获取排序后的交互路径列表,选择最优的n条交互路径进行动态网页抓取;动态网页数据抓取模块将数据抓取结果输入动态网页路径自适应训练模块,动态网页路径自适应训练模块判断结果可达性及结果有效性,根据结果数据计算出该结果对应的路径的访问健壮性数值;动态网页数据抓取模块根据访问健壮性数值更新路径指标,并对路径列表重新排序,形成新的交互路径列表。

通过本发明提供的基于机器学习的自适应动态网页爬虫系统的实现方法,可以实时获取动态网页的交互路径信息,并对交互路径信息进行排序,从而实时动态更新交互路径列表,可以大大减小动态网页爬虫程序的编写工作量。

附图说明

图1是本发明实施例的基于机器学习的自适应动态网页爬虫系统的结构示意图;

图2是本发明实施例的基于机器学习的自适应动态网页爬虫系统的实现方法的控制原理图;

图3是本发明实施例的基于机器学习的自适应动态网页爬虫系统的实现方法的控制流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步详细描述,但不作为对本发明的限定。

图1是本发明实施例的基于机器学习的自适应动态网页爬虫系统的结构示意图。如图1所示,基于机器学习的自适应动态网页爬虫系统包括动态网页路径选择模块11、动态网页路径自适应训练模块12及动态网页数据抓取模块13。

动态网页路径选择模块11,用于根据输入信息获取所有联通的交互路径集合。

其中,动态网页路径选择模块11的输入信息包含包括入口网页地址、目标网页地址、交互过程使用的初始输入数据、目标信息数据结构、抓取网页主页列表中的一个或多个。其中交互过程使用的初始输入数据为一表单结构,记录了待输入数据与页面输入元素的对应关系。如待输入数据为人名,页面输入元素为商场购买记录,希望搜索到某人的购买记录,则此时交互过程使用的初始输入数据为特定人的购买记录。

动态网页路径选择模块11的输出为一数据集合,即联通的交互路径集合,包括从入口网页地址出发、到目标网页地址(或包含具有目标信息数据结构的数据的网页)截止的交互路径和网络数据交互信息。

动态网页路径选择模块11根据输入信息获取所有联通的交互路径集合的步骤包括:

用浏览器内核,通过模拟用户行为的方式访问入口网页,同时设置并初始化操作树;

用xpath、正则表达式或自定义编程的方式分析页面结构,调用浏览器内核,模拟用户行为,将初始输入数据输入至网页相应区域;

通过模拟用户行为的方式进行交互操作,进入下一可达页面;并将操作源网页地址、操作目标网页地址、操作方法、网络交互接口、网络交互数据封装为一个节点,插入到操作树的相应位置。

动态网页路径选择模块11根据输入信息获取所有联通的交互路径集合的步骤还包括:

若当前网页地址为输入信息中指定的目标网页地址,则将当前页面判定为目标网页;

若当前网页地址非目标网页地址,判断下一页面的主页是否在输入信息的抓取网页范围列表中,或是否无下一可达页面;

当下一页面的主页不在输入信息的抓取网页范围列表中,或无下一可达页面,则判断当前网页中是否包含具有输入信息中指定的目标信息数据结构的数据;

若当前网页包含输入信息中指定的目标信息数据结构的数据,则将当前页面判定为目标网页,并将操作树中当前网页的子节点到根节点的路径加入至输入信息中。

若当前网页未包含输入信息中指定的目标信息数据结构的数据,则动态网页路径选择模块11重复根据上述输入信息获取所有联通的交互路径集合的步骤,直至将输入信息中指定的目标网页地址全部搜索完为止。

动态网页路径自适应训练模块12以动态网页路径选择模块12的输出(即交互路径集合)以及初始配置信息、初始数据、数据抓取结果作为输入,排序后的交互路径列表作为输出。

动态网页路径自适应训练模块12对动态网页路径选择模块输出的交互路径集合中的各路径进行实时排序的步骤包括:

接收以动态网页路径选择模块11输出的交互路径集合以及初始配置信息、初始数据、数据抓取结果,并对输入的交互路径集合中的路径进行排序;

输出排序后的交互路径列表。

其中,对输入的交互路径集合中的路径进行排序通过如下公式进行:

路径指标=(输入路径集合中最长路径长度-路径长)*ω路径长度+路径访问健壮性*ω路径访问健壮度,其中各权重ω值由初始配置信息给出,路径指标计算公式中的路径长度为输入路径所包含的节点数,路径指标与路径长度成反比,路径访问健壮性初始值为0。

动态网页数据抓取模块13选择动态网页路径自适应训练模块12输出的交互路径列表中的前n条交互路径(n由系统配置信息给出),按照网络路径中每节点给出的访问页面地址、交互数据格式,并行的进行动态页面抓取。动态页面抓取结束后,动态网页数据抓取模块将访问结果提交至动态网页路径自适应训练模块,用于实时动态更新交互路径列表。

在确定交互路径列表之后,进入到动态网页数据抓取模块13,选择动态网页数据抓取模块抓取任务集合中的每条任务、并挑选有序交互路径列表中前n条交互路径(n由系统配置信息给出),按照网络路径中每节点给出的访问页面地址、交互数据格式,并行的进行动态页面抓取,然后得到并返回动态页面抓取结果。

在获取到抓取结果后,动态网页数据抓取模块13将动态页面抓取结果反馈给动态网页路径自适应训练模块12,以更新交互路径列表。

动态网页路径自适应训练模块根据结果数据计算出该结果对应的路径的访问健壮性数值。

该健壮性数值可依据但不限于下列指标:结果是否为空、结果数据格式是否正确以及结果数据是否有效。根据指标反馈的结果以及指标的权重值获取路径访问健壮性数值。

更新交互路径列表的方式包括:

动态网页数据抓取模块从动态网页路径自适应训练模块获取排序后的交互路径列表,选择最优的n条交互路径进行动态网页抓取;

动态网页数据抓取模块将数据抓取结果输入动态网页路径自适应训练模块,动态网页路径自适应训练模块判断结果可达性及结果有效性,根据结果数据计算出该结果对应的路径的访问健壮性数值;

动态网页数据抓取模块根据访问健壮性数值更新路径指标,并对路径列表重新排序,形成新的交互路径列表。

不断重复上述的动态页面抓取步骤,并实时反馈给动态网页路径自适应训练模块进行交互路径列表的实时更新。

结合参见图2和图3所示,根据本发明的实施例,基于机器学习的自适应动态网页爬虫系统的实现方法包括:

S11,动态网页路径选择模块根据输入信息获取所有联通的交互路径集合;

S12,动态网页路径自适应训练模块对动态网页路径选择模块输出的交互路径集合中的进行实时排序,形成交互路径列表;

S13,动态网页数据抓取模块对交互路径列表中的n条最优路径进行动态页面抓取,并将结果反馈给动态网页路径自适应训练模块,更新交互路径列表。

通过上述方法可以实时获取动态网页的交互路径信息,且交互路径列表根据动态网页数据抓取模块的访问结果实时更新,从而实时动态更新交互路径列表,可以大大减小动态网页爬虫程序的编写工作量。

当然,以上是本发明的优选实施方式。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明基本原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1