一种网页资源的嗅探方法以及装置制造方法

文档序号:6621453阅读:527来源:国知局
一种网页资源的嗅探方法以及装置制造方法
【专利摘要】本发明公开一种网页资源的嗅探方法以及装置,所述方法包括:基于一网页访问指令,访问第一网页;构建所述第一网页的文件对象模型DOM树,并在构建所述DOM树的过程中,对所述第一网页中的第一资源标签进行识别;基于识别出的所述第一资源标签,获取所述第一资源标签对应的第一资源,并将所述第一资源呈现给用户;监视所述DOM树是否发生变化;在所述DOM树发生变化且所述第一资源标签变化为第二资源标签时,获取所述第二资源标签对应的第二资源,并将所述第二资源呈现给用户,其中,所述第二资源标签与所述第一资源标签不相同。
【专利说明】一种网页资源的嗅探方法以及装置

【技术领域】
[0001]本发明涉及互联网【技术领域】,尤其涉及一种网页资源的嗅探方法以及装置。

【背景技术】
[0002]随着互联网技术的不断发展,互联网与人们日常生活的联系越来越紧密,比如,人们可以通过互联网下载各类资源,如视频资源、音频资源等等。
[0003]目前,网站所提供的网页包括许多无关资源如广告资源等等,从而会导致用户浪费大量的时间与精力用于在网页上可能提供资源的地方去寻找自己实际所需要的资源如某个特定软件等等。
[0004]在现有技术中,为了节省用户时间,网页浏览软件在打开某个网页时,会进行资源嗅探,具体来讲,会全局扫描网页浏览软件所获取的网页数据,并对网页数据中的RAR、ZIP、MP4等关键字进行匹配,再通过使用正则表达式等算法判断所匹配到的数据是否为资源网址,如果是资源网址则将这些网址记录下来并呈现给用户,从而避免用户花费大量的时间与精力在网页上去寻找自己所需要的资源。
[0005]但是,由于现有技术中在对网页进行资源嗅探时,需要对网页数据进行全文过滤,导致了效率低下以及匹配准确率不高,同时,无法获取网页通过JavaScriptCJava描述语言,一种脚本语言)动态获得的资源链接地址。
[0006]因此,现有技术中在对网页进行资源嗅探时,存在因需要对网页数据进行全文过滤而造成的效率低下、以及无法获取网页通过JavaScript动态获得的资源链接地址的技术问题。


【发明内容】

[0007]本发明实施例通过提供一种网页资源的嗅探方法以及装置,解决了现有技术中在对网页进行资源嗅探时,存在因需要对网页数据进行全文过滤而造成的效率低下、以及无法获取网页通过JavaScript动态获得的资源链接地址的技术问题。
[0008]本发明实施例一方面提供一种网页资源的嗅探方法,包括:
[0009]基于一网页访问指令,访问第一网页;
[0010]构建所述第一网页的文件对象模型DOM树,并在构建所述DOM树的过程中,对所述第一网页中的第一资源标签进行识别;
[0011]基于识别出的所述第一资源标签,获取所述第一资源标签对应的第一资源,并将所述第一资源呈现给用户;
[0012]监视所述DOM树是否发生变化;
[0013]在所述DOM树发生变化且所述第一资源标签变化为第二资源标签时,获取所述第二资源标签对应的第二资源,并将所述第二资源呈现给用户,其中,所述第二资源标签与所述第一资源标签不相同。
[0014]可选地,所述在构建所述第一网页的文件对象模型DOM树之前,所述方法还包括:获取需要嗅探的资源类型。
[0015]可选地,所述获取需要嗅探的资源类型,具体为:
[0016]获取需要嗅探的通用资源类型和/或非通用资源类型。
[0017]可选地,所述对所述第一网页中的第一资源标签进行识别,具体为:
[0018]对所述第一网页中的通用资源标签和/或非通用资源标签进行识别,其中所述通用资源标签与所述通用资源类型对应,所述非通用资源标签与所述非通用资源类型对应。
[0019]可选地,在所述获取所述第一资源标签对应的第一资源之后,所述方法还包括:
[0020]将所述第一资源保存到哈希集合中,以确定所述第一资源的唯一性。
[0021]本发明实施例另一方面还提供一种网页资源的嗅探装置,包括:
[0022]访问单元,用于基于一网页访问指令,访问第一网页;
[0023]构建单元,用于构建所述第一网页的DOM树;
[0024]第一识别单元,用于基于所述DOM树,对所述第一网页中的第一资源标签进行识别;
[0025]第一获取单元,用于基于识别出的所述第一资源标签,获取所述第一资源标签对应的第一资源,并将所述第一资源呈现给用户;
[0026]监视单元,用于监视所述DOM树是否发生变化;
[0027]所述第一获取单元还用于在所述监视单元确定所述DOM树发生变化且所述第一资源标签变化为第二资源标签时,获取所述第二资源标签对应的第二资源,并将所述第二资源呈现给用户,其中,所述第二资源标签与所述第一资源标签不相同。
[0028]可选地,所述装置还包括第二获取单元,所述第二获取单元用于在所述构建所述第一网页的文件对象模型DOM树之前,获取需要嗅探的资源类型。
[0029]可选地,所述第二获取单元具体用于获取需要嗅探的通用资源类型和/或非通用资源类型。
[0030]可选地,所述构建单元具体用于对所述第一网页中的通用资源标签和/或非通用资源标签进行识别,其中,所述通用资源标签与所述通用资源类型对应,所述非通用资源标签与所述非通用资源类型对应。
[0031]可选地,所述装置还包括保存单元,所述保存单元用于在所述获取所述第一资源标签对应的第一资源之后,将所述第一资源保存到哈希集合中,以确定所述第一资源的唯一性。
[0032]本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0033]1、由于采用了在访问第一网页时,构建第一网页的文件对象模型DOM树,并基于DOM树,对第一网页中的第一资源标签进行识别,并基于识别出的第一资源标签,获取第一资源标签对应的第一资源,并将第一资源呈现给用户的技术方案,不需要对第一网页的网页数据进行全部过滤,从而解决了现有技术中因需要对网页数据进行全文过滤而造成的效率低下的技术问题,提高了在对网页进行资源嗅探时的效率。
[0034]2、由于采用了监视DOM树是否发生变化,并在DOM树发生变化且第一资源标签变化为第二资源标签时,获取第二资源标签对应的第二资源,并将第二资源呈现给用户的技术方案,避免了现有技术中无法获取网页通过JavaScript动态获得的资源链接地址的技术问题,实现了及时地、动态地抓取第一网页中的资源的技术效果。

【专利附图】

【附图说明】
[0035]图1为本发明实施例提供的网页资源的嗅探方法的流程图;
[0036]图2为本发明实施例提供的网页资源的嗅探装置的功能模块图。

【具体实施方式】
[0037]本发明实施例通过提供一种网页资源的嗅探方法以及装置,解决了现有技术中在对网页进行资源嗅探时,存在因需要对网页数据进行全文过滤而造成的效率低下、以及无法获取网页通过JavaScript动态获得的资源链接地址的技术问题。
[0038]本发明实施例中的技术方案为解决上述技术问题,总体思路如下:
[0039]本发明实施例提供一种网页资源的嗅探方法,包括:
[0040]首先,基于一网页访问指令,访问第一网页;
[0041]其次,构建第一网页的文件对象模型DOM树,并基于DOM树,对第一网页中的第一资源标签进行识别;
[0042]接着,基于识别出的第一资源标签,获取第一资源标签对应的第一资源,并将第一资源呈现给用户;
[0043]然后,监视DOM树是否发生变化;
[0044]最后,在DOM树发生变化且第一资源标签变化为第二资源标签时,获取第二资源标签对应的第二资源,并将第二资源呈现给用户,其中,第二资源标签与第一资源标签不相同。
[0045]通过上述部分可以看出,由于采用了在访问第一网页时,构建第一网页的文件对象模型DOM树,并基于DOM树,对第一网页中的第一资源标签进行识别,并基于识别出的第一资源标签,获取第一资源标签对应的第一资源,并将第一资源呈现给用户的技术方案,不需要对第一网页的网页数据进行全部过滤,从而解决了现有技术中因需要对网页数据进行全文过滤而造成的效率低下的技术问题,提高了在对网页进行资源嗅探时的效率。
[0046]进一步地,由于采用了监视DOM树是否发生变化,并在DOM树发生变化且第一资源标签变化为第二资源标签时,获取第二资源标签对应的第二资源,并将第二资源呈现给用户的技术方案,避免了现有技术中无法获取网页通过JavaScript动态获得的资源链接地址的技术问题,实现了及时地、动态地抓取第一网页中的资源的技术效果。
[0047]为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
[0048]请参考图1,图1是本发明实施例提供的网页资源的嗅探方法的流程图,如图1所示,该方法包括:
[0049]SlOl:基于一网页访问指令,访问第一网页;
[0050]S102:构建第一网页的文件对象模型(英文:Document Object Model ;简称:D0M)树,并在构建DOM树的过程中,对第一网页中的第一资源标签进行识别;
[0051]S103:基于识别出的第一资源标签,获取第一资源标签对应的第一资源,并将第一资源呈现给用户;
[0052]S104:监视DOM树是否发生变化;
[0053]S105:在DOM树发生变化且第一资源标签变化为第二资源标签时,获取第二资源标签对应的第二资源,并将第二资源呈现给用户,其中,第二资源标签与第一资源标签不相同。
[0054]在实际应用中,本发明实施例提供的网页资源的嗅探方法可以应用于专门提供网页浏览功能的网页浏览软件如浏览器上,也可以应用于集成了网页浏览功能的多功能软件上,在此不做限制。
[0055]在接下来的部分中,将以本发明实施例提供的网页资源的嗅探方法可以应用在一浏览器上为例,来进行详细地举例描述。
[0056]在SlOl中,可以是指浏览器根据用户输入的网页访问指令,来访问第一网页,具体来讲,可以是浏览器根据用户向浏览器输入第一网页的网页地址来访问该第一网页,或者浏览器根据用户点击某个链接的点击操作而访问第一网页,在此就不再赘述了。当然,在实际应用中,访问第一网页的具体过程不限于本发明实施例所介绍的两种方式。
[0057]在具体实施过程中,在S102之前,本发明实施例提供的网页资源的嗅探方法还包括:获取需要嗅探的资源类型。
[0058]具体来讲,可以是浏览器获取需要嗅探的资源类型为通用资源类型和/或非通用资源类型,也即浏览器确定需要嗅探哪些资源,如音频资源、视频资源等等通用资源类型,或者是如迅雷、电驴或比特种子等下载软件的非通用资源类型等等,在具体实施过程中,浏览器可以从服务器上获取需要嗅探的资源类型列表,从而确定需要对第一网页中的哪些资源类型进行嗅探,或者也可以从根据用户输入的资源类型来确定需要对第一网页中的哪些资源进行嗅探。
[0059]需要说明的是,在具体实施过程中,获取需要嗅探的资源类型可以在浏览器访问不同的网页时每次都被执行,也可以在浏览器一次运行(指浏览器从运行到关闭)过程中只被执行一次,在此就不再赘述了。
[0060]在S102中,构建第一网页的文件对象模型DOM树,并在构建DOM树的过程中,对第一网页中的第一资源标签进行识别,具体来讲,可以通过DOM解析器对第一网页进行解析,从而能够生成第一网页对应的DOM树。
[0061]需要说明的是,该DOM树中的所有节点都是从Node对象(Node对象是整个DOM的主要数据类型)继承而来的,Node对象定义了一些基本的属性和方法,利用这些方法可以实现对DOM树的遍历,同时,根据属性还可以得知节点的名称、取值并判断其类型。当然,不同解析器的实现方法也可能有所差别,在此就不再赘述了。
[0062]在构建第一网页的DOM树的过程中,同时对第一网页中的第一资源标签进行识另IJ,具体来讲,即是浏览器对第一网页中的通用资源标签和/或非通用资源标签进行识别,通用资源标签与通用资源类型对应,通用资源标签例如可以是声频资源标签(〈aud1〉)、视频资源标签(〈video〉)、内联元素标签(<a>)等等,非通用资源标签和非通用资源类型对应,非通用资源标签例如可以是迅雷资源标签(〈thunderhref〉)、以及其他如电驴、比特种子等下载软件所使用的资源标签等等,在构建第一网页的DOM树的过程中,即能够根据前述步骤中所获取到的需要嗅探的资源类型,对第一网页中与该资源类型对应的资源标签进行识别。例如,当前述步骤中获取到的需要嗅探的资源类型为通用资源类型和非通用资源类型时,浏览器会对第一网页中的声频资源标签(〈aud1〉)、视频资源标签(〈video〉)、内联元素标签(<a>)以及迅雷资源标签(〈thunderhref〉)等等通用资源标签和非通用资源标签同时进行识别。
[0063]在S102之后,本发明实施例提供的网页资源的嗅探方法进入S103,即:基于识别出的第一资源标签,获取第一资源标签对应的第一资源,并将第一资源呈现给用户。
[0064]在S103中,具体来讲,即是根据S102中识别出的第一资源标签,从而能够获取第一资源标签对应的第一资源,并将第一资源信息发送给浏览器的上层,通过用户交互(UI)层呈现给用户。当然,在实际应用中,此时浏览器向用户呈现的可以是第一资源对应的链接,由用户确认需要获取哪个资源。
[0065]通过上述部分可以看出,由于利用了构建第一网页的DOM树的过程对第一网页进行了资源嗅探,而不用对第一网页的网页数据进行全文过滤,节省了不必要的处理器的资源浪费,并且节省了时间,从而提高了在对网页进行资源嗅探的效率。
[0066]当然,在具体实施过程中,为了避免从第一网页中嗅探出的资源重复,本发明实施例提供的网页资源的嗅探方法还包括:将第一资源保存到哈希集合(HashSet)中,以确定第一资源的唯一'I"生。
[0067]具体来讲,即是将第一资源保存于一设定的HashSet中,HashSet中不允许有重复的元素存在,所以能够保证资源的唯一性,在此就不再赘述了。
[0068]在S103之后,本发明实施例提供的网页资源的嗅探方法进入S104,即:监视DOM树是否发生变化。
[0069]在S104中,具体来讲,即是监视第一网页中的第一资源标签是否发生变化。
[0070]在第一网页的DOM树发生变化且第一资源标签变化为第二资源标签时,本发明实施例提供的网页资源的嗅探方法进入S105,即:获取第二资源标签对应的第二资源,并将第二资源呈现给用户,其中,第二资源标签与第一资源标签不相同。
[0071]在S105中,具体来讲,在Javascript新增了或者修改了第一网页中的资源链接时,第一网页的DOM树即会发生变化,第一资源标签同时会变化为第二资源标签,此时即可以根据第二资源标签来获取第二资源标签对应的第二资源,并且将第二资源呈现给用户。
[0072]当然了,如前述步骤所介绍的,在获取第二资源后,同样可以将第二资源保存于哈希集合中,在此就不再赘述了。
[0073]基于同一发明构思,本发明实施例还提供一种网页资源的嗅探装置,请参考图2,图2是本发明实施例提供的网页资源的嗅探装置的功能模块图,如图2所示,该装置包括:
[0074]访问单元201,用于基于一网页访问指令,访问第一网页;
[0075]构建单元202,用于构建第一网页的DOM树;
[0076]第一识别单元203,用于基于DOM树,对第一网页中的第一资源标签进行识别;
[0077]第一获取单元204,用于基于识别出的第一资源标签,获取第一资源标签对应的第一资源,并将第一资源呈现给用户;
[0078]监视单元205,用于监视DOM树是否发生变化;
[0079]第一获取单元204还用于在监视单元205确定DOM树发生变化且第一资源标签变化为第二资源标签时,获取第二资源标签对应的第二资源,并将第二资源呈现给用户,其中,第二资源标签与第一资源标签不相同。
[0080]在具体实施过程中,该装置还包括第二获取单元206,第二获取单元206用于在构建第一网页的文件对象模型DOM树之前,获取需要嗅探的资源类型。
[0081]在具体实施过程中,第二获取单元206具体用于获取需要嗅探的通用资源类型和/或非通用资源类型。
[0082]在具体实施过程中,第一识别单元203具体用于对所述第一网页中的通用资源标签和/或非通用资源标签进行识别,其中,通用资源标签与通用资源类型对应,非通用资源标签与非通用资源类型对应。
[0083]在具体实施过程中,该装置还包括保存单元207,用于在获取第一资源标签对应的第一资源之后,将第一资源保存到哈希集合中,以确定第一资源的唯一性。
[0084]本实施例中的网页资源的嗅探装置与前述部分中的网页资源的嗅探方法是基于同一发明构思下的两个方面,在前面已经对方法的实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚的了解本实施例中的网页资源的嗅探装置的结构及实施过程,为了说明书的简洁,在此就不再赘述了。
[0085]上述本发明实施例中的技术方案,至少具有如下的技术效果或优点:
[0086]1、由于采用了在访问第一网页时,构建第一网页的文件对象模型DOM树,并基于DOM树,对第一网页中的第一资源标签进行识别,并基于识别出的第一资源标签,获取第一资源标签对应的第一资源,并将第一资源呈现给用户的技术方案,不需要对第一网页的网页数据进行全部过滤,从而解决了现有技术中因需要对网页数据进行全文过滤而造成的效率低下的技术问题,提高了在对网页进行资源嗅探时的效率。
[0087]2、由于采用了监视DOM树是否发生变化,并在DOM树发生变化且第一资源标签变化为第二资源标签时,获取第二资源标签对应的第二资源,并将第二资源呈现给用户的技术方案,避免了现有技术中无法获取网页通过JavaScript动态获得的资源链接地址的技术问题,实现了及时地、动态地抓取第一网页中的资源的技术效果。
[0088]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0089]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0090]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0091]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0092]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种网页资源的嗅探方法,其特征在于,包括: 基于一网页访问指令,访问第一网页; 构建所述第一网页的文件对象模型DOM树,并在构建所述DOM树的过程中,对所述第一网页中的第一资源标签进行识别; 基于识别出的所述第一资源标签,获取所述第一资源标签对应的第一资源,并将所述第一资源呈现给用户; 监视所述DOM树是否发生变化; 在所述DOM树发生变化且所述第一资源标签变化为第二资源标签时,获取所述第二资源标签对应的第二资源,并将所述第二资源呈现给用户,其中,所述第二资源标签与所述第一资源标签不相同。
2.如权利要求1所述的方法,其特征在于,所述在构建所述第一网页的文件对象模型DOM树之前,所述方法还包括: 获取需要嗅探的资源类型。
3.如权利要求2所述的方法,其特征在于,所述获取需要嗅探的资源类型,具体为: 获取需要嗅探的通用资源类型和/或非通用资源类型。
4.如权利要求3所述的方法,其特征在于,所述对所述第一网页中的第一资源标签进行识别,具体为: 对所述第一网页中的通用资源标签和/或非通用资源标签进行识别,其中,所述通用资源标签与所述通用资源类型对应,所述非通用资源标签与所述非通用资源类型对应。
5.如权利要求1所述的方法,其特征在于,在所述获取所述第一资源标签对应的第一资源之后,所述方法还包括: 将所述第一资源保存到哈希集合(HashSet)中,以确定所述第一资源的唯一性。
6.一种网页资源的嗅探装置,其特征在于,包括: 访问单元,用于基于一网页访问指令,访问第一网页; 构建单兀,用于构建所述第一网页的DOM树; 第一识别单元,用于基于所述DOM树,对所述第一网页中的第一资源标签进行识别;第一获取单元,用于基于识别出的所述第一资源标签,获取所述第一资源标签对应的第一资源,并将所述第一资源呈现给用户; 监视单元,用于监视所述DOM树是否发生变化; 所述第一获取单元还用于在监视单元确定所述DOM树发生变化且所述第一资源标签变化为第二资源标签时,获取所述第二资源标签对应的第二资源,并将所述第二资源呈现给用户,其中,所述第二资源标签与所述第一资源标签不相同。
7.如权利要求6所述的装置,其特征在于,所述装置还包括第二获取单元,所述第二获取单元用于在所述构建所述第一网页的文件对象模型DOM树之前,获取需要嗅探的资源类型。
8.如权利要求7所述的装置,其特征在于,所述第二获取单元具体用于获取需要嗅探的通用资源类型和/或非通用资源类型。
9.如权利要求6所述的装置,其特征在于,所述第一识别单元具体用于对所述第一网页中的通用资源标签和/或非通用资源标签进行识别,其中,所述通用资源标签与所述通用资源类型对应,所述非通用资源标签与所述非通用资源类型对应。
10.如权利要求6所述的装置,其特征在于,所述装置还包括保存单元,所述保存单元用于在所述获取所述第一资源标签对应的第一资源之后,将所述第一资源保存到哈希集合中,以确定所述第一资源的唯一性。
【文档编号】G06F17/30GK104166545SQ201410361637
【公开日】2014年11月26日 申请日期:2014年7月25日 优先权日:2014年7月25日
【发明者】张伟, 陈晨, 张铮, 齐彦鹏 申请人:北京搜狗科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1