一种基于网页的目标数据搜索方法、模块、浏览器及终端与流程

文档序号:13730132阅读:152来源:国知局
技术领域本发明涉及互联网领域,尤其涉及一种基于网页的目标数据搜索方法、模块、浏览器及终端。

背景技术:
随着终端设备的广泛应用以及互联网技术的快速发展,越来越多的用户倾向于使用移动终端(如智能手机、平板电脑、移动电脑等)浏览网页。目前,各网站中都包含了各种类型的大量信息,但实际上,用户一般只对部分信息感兴趣,为了能够筛选出用户感兴趣的信息,现有技术通常利用搜索引擎技术搜索目标数据,如常用的Google、Baidu等搜索引擎。目前,各种搜索引擎是利用网络侧服务器搜索用户的搜索习惯、历史纪录等信息,进而在掌握一定用户信息后,根据用户爱好、习惯等,通过网络侧为用户推送一些用户可能感兴趣的目标数据。然而,鉴于网络侧与终端的交互受限于网络速率、服务器处理速率等因素的影响,通过搜索引擎的这种方式通常会存在一定时延,无法为用户提供实时的目标数据推送方案,同时,由于搜索引擎的后台算法的制约,搜索引擎一般还会为用户推荐部分与用户不相关或次相关的广告信息。可见,现有技术中缺少一种能够在任何网站中实时的搜索目标数据的方案。

技术实现要素:
本发明实施例提供一种基于网页的目标数据搜索方法、模块、浏览器及终端,用以实现对任意网页的实时数据搜索。本发明实施例提供了一种基于网页的目标数据搜索方法,该方法包括:在接收到用户通过点击浏览器指定按键所触发的搜索指令后,获取浏览器当前所浏览页面以及从属于该页面的各子级页面的网络地址;根据该页面和所述子级页面的网络地址,获取该页面和所述子级页面所分别包含的文本内容;利用预先设置的关键词,对获取到的文本内容进行匹配,根据匹配结果,将包含有匹配成功的文本内容的页面和/或子级页面作为目标页面。本发明实施例还提供了一种基于网页的目标数据搜索模块,该模块包括:URL抓取单元,用于在接收到用户通过点击浏览器指定按键所触发的搜索指令后,获取浏览器当前所浏览页面以及从属于该页面的各子级页面的网络地址;遍历单元,用于根据该页面和所述子级页面的网络地址,获取该页面和所述子级页面所分别包含的文本内容;利用预先设置的关键词,对获取到的文本内容进行匹配,将包含有匹配成功的文本内容的页面和/或子级页面作为目标页面。本发明实施例还提供了一种浏览器,该浏览器包括:用户界面、排版引擎、内核以及基于网页的目标数据搜索模块。本发明实施例还提供了一种终端,该终端内置有上述浏览器。从上述技术方案可以看出,本发明实施例所提供的数据搜索方案可以内嵌于浏览器中,用于对浏览器当前所浏览的页面以及从属于该页面的各子级页面(包括从属于某子级页面的子级页面)中的文本内容进行搜索,找到包含有与预设关键词匹配的文本内容的页面,并记录其网络地址,也就是说,由于本发明实施例中的终端可以利用本地安装的浏览器抓取目标数据,而不再依托于网络侧所提供的搜索引擎,因此本发明实施例均可以针对浏览器可以浏览的任意页面进行实时数据搜索,同时,由于本发明实施例不再需要与提供搜索引擎的网络侧服务器交互,因此避免了由于网络侧服务器宕机或网络堵塞造成的数据搜素不准确的现象,进而提升了数据搜索的准确性和实时性。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种基于网页的目标数据搜索方法的流程示意图;图2(a)为本发明实施例中的用户界面部分中关于扫描按钮的示意图;图2(b)为本发明实施例中的用户界面部分中关于关键词汇分类表的示意图;图2(c)为本发明实施例中的用户界面部分中关于搜索结果URL列表的示意图;图2(d)为本发明实施例中的用户界面部分中关于搜索结果标题列表的示意图;图2(e)为本发明实施例中的用户界面部分中关于搜索结果缩略图列表的示意图;图3(a)为本发明实施例中的一种HTMLDOM树的结构示意图;图3(b)为本发明实施例中的一种HTMLDOM树的结构示意图;图3(c)为本发明实施例中的当前浏览器所浏览的页面以及其子级页面的网页DOM树的结构示意图;图4为本发明实施例中的一种基于网页的目标数据搜索模块的结构示意图;图5为本发明实施例中的一种浏览器的结构示意图;图6为本发明实施例中的一种终端的结构示意图。具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。本发明实施例可以应用于各种终端(如智能手机、智能电脑、平板电脑、智能电视等)中,尤其的,本发明实施例可以作为软件模块(如一种数据搜索模块或一种数据搜索插件)内置于各类浏览器程序中,凡是安装有本发明实施例所提供的数据搜索模块或数据搜索插件或浏览器,均可以具备对任意页面进行实时数据搜索的能力。本发明实施例提供了一种利用数据搜索模块或插件自身能力对浏览器当前所浏览的网页进行实时数据搜索的方案,在本发明实施例中,不再依靠搜索引擎或网站搜索功能,而是利用数据搜索模块或插件、或安装有上述模块或插件的浏览器自身能力,通过遍历浏览器当前所所浏览的页面及其子级页面的文本内容的方式,从而能够在遍历过程中,对遍历到的文本内容进行搜索,进而可以针对浏览器所浏览的任意页面进行实时数据搜索,这样,当任何终端(不限制其操作平台、编程语言等)安装有本发明实施例提供的数据搜索模块或插件或浏览器,即可依靠终端自身能力实现实时数据搜索功能,不再局限于提供搜索功能或搜索引擎的网络侧服务器,另一方面,还可以避免由于网络侧服务器宕机或网络拥塞造成的搜索失败或不准确的现象,进一步的,还能避免由网络侧服务器提供的广告、恶意传播的垃圾信息等。首先,对本发明实施例的技术构思和发明原理进行整体概述:第一,本发明实施例为浏览器提供了一种基于终端的自主自动从互联网站点发现目标数据并将其网络地址反馈给用户的方案,不需要依靠第三方互联网搜索引擎或站点提供的站内搜索功能,即可实现目标数据的扫描和搜索。第二,本发明实施例提供的搜索方案可以作为一个模块或插件内嵌到浏览器中,用户可以在网站页面的浏览流程过程中,通过点击已嵌入浏览器中的指定按键(举例来说,可以是在搜索栏新增的扫描按钮,或预设的组合键,如Ctrl+Alt+S等)的方式,随时对当前页面及其包含的子级页面进行搜索,实时的实现了目标数据的搜索功能。第三,本发明实施例通过遍历DOM(DocumentObjectModel,简称DOM,文档对象模型)树的方式实现目标数据的搜索,因此,与开发平台和编写语言无关,也就是说,本发明实施例所提供的用于搜索目标数据的模块或插件可嵌入到基于各种内核(如Trident、Gecko、Webkit、Blink等)的浏览器中,可见,本发明实施例所提供的数据搜索方案可跨平台使用,还可应用到各种操作系统的终端中(如安卓系统、IOS系统或WP系统等)。综上,本发明实施例提供的数据搜索方案不仅可以对任意网页进行实时数据搜索,还不受浏览器内核和终端操作平台的限制,因此,本发明实施例所提供的数据搜索方案可被应用到各类浏览器,还可被内置到各种终端中。图1示出了本发明实施例提供的一种基于网页的目标数据搜索方法的流程示意图,如图1所示,该流程可以包括:步骤11:在接收到用户通过点击浏览器指定按键所触发的搜索指令后,获取浏览器当前所浏览页面以及从属于该页面的各子级页面的网络地址。步骤12:根据该页面和子级页面的网络地址,获取该页面和子级页面所分别包含的文本内容。步骤13:利用预先设置的关键词,对获取到的文本内容进行匹配,根据匹配结果,将包含有匹配成功的文本内容的页面和/或子级页面作为目标页面。可选的,在上述步骤12中,根据该页面和子级页面的网络地址,获取该页面和子级页面所分别对应的超文本文档对象模型HTMLDOM树,对获取到的各HTMLDOM树进行遍历操作,在遍历操作过程中,利用预先设置的关键词,对各HTMLDOM树中所包含的文本内容进行匹配,根据匹配结果,将包含有匹配成功的文本内容的HTMLDOM树所对应的页面和/或子级页面作为目标页面。可选的,在上述步骤11之前,获取由用户预先设置的最大遍历深度;则在上述步骤12中,以浏览器当前所浏览页面的网络地址为根节点、以从属于该页面的不同层级的各个子级页面为子节点,由根节点开始,依次遍历至层级深度达到最大遍历深度的各子节点。可选的,在上述步骤12中,获取用户从预先生成的关键词汇分类表中所选择出的关键词或关键词分类,利用选择出的关键词或者关键词分类中所包含的关键词,对获取到的文本内容进行匹配;或者获取由用户所输入的关键词,利用关键词,对获取到的文本内容进行匹配。可选的,在上述步骤11之前,记录用户在浏览器搜索栏所输入的文本信息,提取文本信息中所包含的关键词;在预先存储的用于表示关键词与关键词分类之间的对应关系的映射表中,查找与提取出的关键词所对应的关键词分类,根据属于同一关键词分类的关键词的集合,生成或更新关键词汇分类表中的针对该关键词分类的记录。可选的,在上述步骤11之前,在接收到用户发送的用于自定义关键词汇分类表的设置指令后,获取由用户所设置的若干个关键词与所属关键词分类之间的对应关系,根据对应关系,生成或更新关键词汇分类表中的针对该关键词分类的记录。可选的,在上述步骤13之后,输出所述目标页面的网络地址;或者截取并输出目标页面的缩略图;或者获取并输出满目标页面的标题。下面对本发明实施例的具体实现方式进行详细描述:本发明实施例提供的数据搜索方案可以包括UI(用户界面)部分和内部功能实现部分。其中,图2(a)~图2(e)示出了本发明实施例中关于UI部分的示意图,图3(a)~图3(c)示出了本发明实施例中关于内部功能实现部分的示意图。其中,图2(a)示出了本发明实施例中的用户界面部分中关于扫描按钮的示意图,图2(b)示出了本发明实施例中的用户界面部分中关于关键词汇分类表的示意图,图2(c)示出了本发明实施例中的用户界面部分中关于搜索结果URL列表的示意图,图2(d)示出了本发明实施例中的用户界面部分中关于搜索结果标题列表的示意图,图2(e)示出了本发明实施例中的用户界面部分中关于搜索结果缩略图列表的示意图。图3(a)示出了本发明实施例中的一种HTMLDOM树的结构示意图,图3(b)示出了本发明实施例中的一种HTMLDOM树的结构示意图,图3(c)示出了本发明实施例中的当前浏览器所浏览的页面以及其子级页面的网页DOM树的结构示意图。下面,对UI部分的设计进行具体描述。参见图2(a),首先,本发明实施例可以在浏览器的地址栏内增加一个“扫描(SCAN)”按钮。当用户在地址栏填入地址后,点击“扫描”按钮(相当于触发发送了搜索指令),弹出关键词汇分类表,供用户选择,被选中的关键词汇将用于针对地址栏内地址所指定的相关网络数据的扫描匹配。当然,本发明实施例也可以通过定义组合键的方式,如将Ctrl+Alt+S定义为与上述扫描按钮具有相同功能的热键,当用户输入该热键时(同样相当于触发发送了搜索指令),弹出关键词汇分类表,供用户选择,被选中的关键词汇将用于针对地址栏内地址所指定的相关网络数据的扫描匹配。需要说明的是,在本发明实施例中,由用户通过点击浏览器指定按键所触发的用于获取满足预设条件的页面的网络地址的搜索指令不仅仅限于上述虚拟按钮或组合键的方式,这里不再赘述。参见图2(b)和图2(c),当用户指定关键词汇分类、并点击确认按钮后,扫描开始,获得搜索结果后,弹出搜索结果URL(UniformResourceLocator,统一资源定位符)列表,以供用户选择。进一步的,在弹出上述搜索结果URL列表之后,由于各页面的URL地址可能对于用户来说并不能感知其对应的内容,为了使用户能够快速得到搜索结果,本发明实施例还可以通过截取网页的缩略图(参见图2(d))或获取网页的标题(参见图2(e)的方式,以更加形象的图文数据向用户呈现搜索结果,同时当用户点击某一缩略图或标题时,实际上是触发浏览器跳转到该缩略图或标题所对应的URL地址。需要说明的是,在上述图2(a)~图2(e)中,仅以某一种浏览器的UI为例进行展示,其中,由于不同的浏览器的地址栏、工具栏等结构分布不同,同时由于不同的浏览器所内置的插件不同,因此在UI上所呈现的按钮分布也不同,上述图2(a)~图2(e)仅为了呈现本插件的功能,在实际中,扫描按钮、关键词汇分类表和搜索结果等均可另行进行优化,这里不再赘述。下面,对内部功能实现部分的设计进行具体描述。参见图3(a),一般来说,浏览器在解析HTML(HyperTextMarkupLanguage,超级文本标记语言)页面数据时,是以DOM(DocumentObjectModel,简称DOM,文档对象模型)的多叉树形结构来抽象数据的,每个页面都是一个HTMLDOM树。参见图3(a),每个页面的下一级页面以HTML定义的几种链接元素进行关联,如图3(a)中的<a>元素、<iframe>元素、<frame>元素等。其中,对于<a>元素,本发明实施例主要关注其“href”属性,其中,<a>元素的“href”属性用于指定超链接目标的URL。而对于<iframe>、<frame>元素,本发明实施例主要关注其“src”属性,其中,“src”属性作为提交按钮使用的图像的URL。可见,这些属性的值即是该链接指向HTML页面的URL地址,所以可以顺着这些URL地址,遍历完这一页面层级树内的所有页面数据。因此,如果已某个论坛内的多个帖子为例,从网页DOM树的层级关系看,可以将它们抽象为如图3(b)所示。具体的,本发明实施例可以使用广度优先的方式遍历完如图3(b)所示的这棵层级页面的DOM树,当然,在浏览器设置内可以加入一个设置选型,用以配置最大遍历深度,比如图3(c)所示的三层,以便降低网络数据流量以及移动终端运算负荷。参见图3(c)由于每个页面内的文本内容在网页DOM树内也是以一个或多个文本节点的形式存在的,因此,在本发明实施例中,对各HTMLDOM树进行遍历的过程,实际上是遍历各DOM树的所有文本节点中所包含的文本内容,以搜索在上述文本内容中是否包括有由用户所指定的一个或多个关键词。当然,在上述匹配过程中,可以按照各种匹配算法或搜索算法执行,举例来说,当用户指定了多个关键词时,如果文本内容中未能匹配到包含有全部关键词的内容时,可以按照包含有关键词的数量由多到少的顺序,依次记录下各页面的URL地址;再举例来说,还可以利用模糊搜索方式进行匹配,如果文本内容中未能匹配到用户所指定的关键词,可以获取与用户所指定的关键词音同或形近或同义的其他关键词进行匹配;当然,上述方式仅对本发明实施例进行举例描述,在实际应用中,可以由用户对上述搜索方式进行自定义设置,以最大化满足用户需求,这里不再一一赘述。在上述基础上,本发明实施例可以对每一个页面DOM树内的文本内容进行搜索,匹配到由用户设定的关键词汇后,记录下该DOM树的URL地址,直至整个层级关系遍历完毕或者达到用户设定的最大遍历深度。上述步骤完成后,将所有记录下来的匹配URL输出或呈现给用户。由于用户几乎不能通过URL地址去感知其对应的具体内容,因此,在实际应用中,本发明实施例还可以进一步的为用户提供关于搜索结果更丰富的图文信息,如抓取或截取到页面的缩略图呈现给用户,或获取页面的标题呈现给用户,在上述情况下,当用户点击上述缩略图或标题时,可以由数据搜索模块或插件指示浏览器跳转到对应的URL地址,进一步提高用户体验。在实际开发中,由于本发明实施例所提供的基于网页的目标数据搜索模块还可以将搜索结果传递给其他模块或插件,以进行后续数据优化或渲染,因此,通常来说,本发明实施例可以将已被记录下的URL地址输出给其他模块,也可以输出给其他设备,也可直接呈现给用户。从上述技术方案可以看出,本发明实施例所提供的数据搜索方案可以内嵌于浏览器中,用于对浏览器当前所浏览的页面以及从属于该页面的各子级页面(包括从属于某子级页面的子级页面)中的文本内容进行搜索,找到包含有与预设关键词匹配的文本内容的页面,并记录其网络地址,也就是说,由于本发明实施例中的终端可以利用本地安装的浏览器抓取目标数据,而不再依托于网络侧所提供的搜索引擎,因此本发明实施例均可以针对浏览器可以浏览的任意页面进行实时数据搜索,同时,由于本发明实施例不再需要与提供搜索引擎的网络侧服务器交互,因此避免了由于网络侧服务器宕机或网络堵塞造成的数据搜素不准确的现象,进而提升了数据搜索的准确性和实时性。基于相同的技术构思,本发明实施例还提供了一种基于网页的目标数据搜索模块,图4示出了本发明实施例中的一种基于网页的目标数据搜索模块的结构示意图,如图4所示,该模块可以包括:URL抓取单元41,用于在接收到用户通过点击浏览器指定按键所触发的搜索指令后,获取浏览器当前所浏览页面以及从属于该页面的各子级页面的网络地址;遍历单元42,用于根据该页面和所述子级页面的网络地址,获取该页面和所述子级页面所分别包含的文本内容;利用预先设置的关键词,对获取到的文本内容进行匹配,根据匹配结果,将包含有匹配成功的文本内容的页面和/或子级页面作为目标页面。基于相同的技术构思,本发明实施例还提供了一种浏览器,图5示出了本发明实施例中的一种浏览器的结构示意图,如图5所示,该浏览器可以包括:用户界面51、排版引擎52、内核53以及基于网页的目标数据搜索模块54。基于相同的技术构思,本发明实施例还提供了一种终端,图6示出了本发明实施例中的一种终端的结构示意图,如图6所示,该终端61内置有所述浏览器62。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器,使得通过该计算机或其他可编程数据处理设备的处理器执行的指令可实现流程图中的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1