一种用于半封闭数据环境下的数据搜索的方法和装置的制作方法

文档序号:6401371阅读:190来源:国知局
专利名称:一种用于半封闭数据环境下的数据搜索的方法和装置的制作方法
技术领域
本发明涉及数据搜索领域,尤其涉及一种用于半封闭数据环境下的数据搜索的方法和装置。
背景技术
搜索引擎是根据一定的策略,运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索的相关信息展示给用户。在现有技术中,搜索引擎的工作过程是利用“蜘蛛”系统(或爬虫技术),自动访问互联网中的网页,读取该网页中的文字内容,并找到该网页中的包含的其他链接地址,并沿着该链接地址访问爬行到其他网页,“蜘蛛”系统在互联网中不断重复这种爬行过程,并把所爬行过的所有网页数据收集回来。现有的“蜘蛛”系统首先会从初始网址库中选取一个网站地址,一般是那些大型门户网站,从这些初始网址出发,蜘蛛会访问并下载对应的网页内容存储到数据库中,并将其中的文字提取出来进行分词后存入索引库中,同时,蜘蛛系统再提取出该网页内容中存在的其他网址链接,然后重复上述过程。由于一个网站中的各个网页之间存在着上下层级的链接关系,而且也可能存在着其他网站的地址链接,因此,利用蜘蛛系统,不仅可以很快将一个网站的全部网页都访问一遍,而且还可以利用那些其他网站地址链接爬行到新的网站,并获取新网站的网页内容。但是,从上述描述可知,现有的搜索引擎利用的“蜘蛛”系统所收集的网页数据均为公开性的网页数据,对于处于半封闭数据环境下的数据并不能进行收集。例如,对于一些会员制的论坛网站、微博网站、个人网银系统等半封闭数据环境,特别是需要授权或验证机制的数据环境,是无法接受类似于“蜘蛛”系统这样的外部访问的,实际上,这些网站的地址链接也很少有机会出现在公开性的网页上,即使有,在被蜘蛛系统获取并访问后,由于没有访问权限,其返回的结果也是无法打开网页,无法进行后续的爬行来获取数据。然而,在这些半封闭数据环境下的数据并不是完全的隐私数据,但现有的搜索引擎由于技术上的原因并不能自动的为普通公众用户获取到这些数据。即便是有访问权限的用户,也无法自动的准确的获得感兴趣的数据。实际上,现有的搜索引擎如果要获取这些半封闭数据环境下的数据,必须通过单独与这些数据环境建立特定的数据开放接口才可以进行访问获取。这是非常不经济的,而且如果对方不同意建立开放接口,那么现有的搜索引擎就无法有效的获取到这些数据。

发明内容
针对上述问题,本发明的主要目的在于提供一种用于半封闭数据环境下的数据搜索的方法和装置,以解决现有技术存在的搜索引擎不能搜索半封闭数据环境中的有用数据的问题。为了解决上述技术问题,本发明的目的是通过以下技术方案实现的:
本发明提供了一种用于半封闭数据环境下的数据搜索方法,包括以下步骤:构建一个客户端浏览器,通过该浏览器,使用预设登录信息登录访问所述半封闭数据环境的网络访问地址;所述客户端浏览器在登录成功后对所述半封闭数据环境中的预设网页地址进行访问,并获取从所述半封闭数据环境的服务器返回的对应网页的数据文件;根据预设的与所述网页相对应的数据位置信息,从所述数据文件中将相应位置的数据提取出来。其中,所述根据预设的与所述网页相对应的数据位置信息,从所述数据文件中将相应位置的数据提取出来的步骤,包括:对通过所述客户端浏览器访问获得的网页数据文件进行分析,根据预设的与在所述网页中要获取的数据相对应的文件标签信息,在所述数据文件中定位相匹配的标签的位置;根据所述标签位置,从所述数据文件中将与该标签位置相对应的数据提取出来。其中,所述将与该标签位置相对应的数据提取出来的步骤,包括:运行与该标签位置相对应的脚本数据,并将运行结果数据提取出来。其中,本发明所述方法进一步包括:构建一数据库,记录所述半封闭数据环境的网络访问地址、可登录该数据环境的预设登录信息、在该数据环境中需要访问的网页地址,以及与在所述网页中要获取的数据相对应的文件标签信息。其中,所述客户端浏览器在登录成功后,进一步包括:获取由所述半封闭数据环境的服务器分配的会话令牌,并携带该会话令牌对所述半封闭数据环境中的预设网页地址进行访问。本发明还提供了一种用于半封闭数据环境下的数据搜索装置,包括:登录模块,用于构建一个客户端浏览器,通过该浏览器,使用预设登录信息登录访问所述半封闭数据环境的服务器;访问模块,用于所述客户端浏览器在登录成功后对所述半封闭数据环境中的预设网页地址进行访问,并获取从所述服务器返回的对应网页的数据文件;提取模块,用于根据预设的与所述网页相对应的数据位置信息,从所述数据文件中将相应位置的数据提取出来。其中,所述提取模块包括:定位单元对通过所述客户端浏览器访问获得的网页数据文件进行分析,根据预设的与在所述网页中要获取的数据相对应的文件标签信息,在所述数据文件中定位相匹配的标签的位置;提取单元根据所述标签位置,从所述数据文件中将与该标签位置相对应的数据提取出来。其中,所述提取单元,用于运行与该标签位置相对应的脚本数据,并将运行结果数据提取出来。其中,所述装置进一步包括一数据库,用于记录所述半封闭数据环境的网络访问地址、可登录该数据环境的预设登录信息、在该数据环境中需要访问的网页地址,以及与在所述网页中要获取的数据相对应的文件标签信息。其中,所述访问模块,用于获取由所述半封闭数据环境的服务器分配的会话令牌,并携带该会话令牌对所述半封闭数据环境中的预设网页地址进行访问。应用本发明的实施例,可以无需建立特殊接口即可实现对半封闭数据环境的自动搜索,将其中所需要的数据准确的提取出来,从而提高了数据搜索效率、扩大了数据搜索范围,同时也提高了数据搜索结果的准确性。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明实施例的用于半封闭数据环境下的数据搜索方法的流程图;图2是本发明实施例的用于半封闭数据环境下的数据搜索装置的模块图。
具体实施例方式本发明的主要思想在于,构建一个客户端浏览器,通过该浏览器,使用预设登录信息登录访问所述半封闭数据环境的网络访问地址;所述客户端浏览器在登录成功后对所述半封闭数据环境中的预设网页地址进行访问,并获取从所述半封闭数据环境的服务器返回的对应网页的数据文件;根据预设的与所述网页相对应的数据位置信息,从所述数据文件中将相应位置的数据提取出来。为使本发明的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本发明作进一步地详细说明。根据本发明的实施例,提供了一种用于半封闭数据环境下的数据搜索方法。参考图1,图1是本发明实施例的用于半封闭数据环境下的数据搜索方法的流程图。在步骤S102处,构建一个客户端浏览器,通过该浏览器,使用预设登录信息登录访问所述半封闭数据环境的网络访问地址。本发明的实施例实现数据搜索的方式与现有的爬虫技术完全不同。现有的爬虫技术并不采用浏览器访问方式,而是采用命令请求方式与网站服务器交互,这对于开放数据环境下的数据搜索是可以的,但对于半封闭式的数据环境,尤其是安全性要求较高的数据环境的访问,由于有些属性参数在命令请求这种访问方式中是不可见的,因此,如果仍然采用命令请求方式就无法进行访问。本发明实施例通过构建一个客户端浏览器,采用浏览器访问方式,则可以获取现有爬虫技术所无法获得的属性参数,例如会话令牌(Session ID)参数等。用户可以通过该客户端浏览器对半封闭数据环境进行浏览,但如果不具有该半封闭数据环境的服务器的访问权限,就会造成无法登录的情况,因此,可以预先收集设定针对该半封闭数据环境的登录信息,以获得访问权限。例如,针对微博、论坛等半封闭数据环境,可以通过预先注册用户名和密码的方式预先获得登录信息;针对社交网站等半封闭数据环境,可以通过预先注册姓名和密码的方式获得登录信息;针对网银等半封闭数据环境,可以通过预先注册银行卡号和密码的方式获得登录息。实际上,在预先获得登录信息后,还可以进一步对该相应的半封闭数据环境进行分析,获知在该数据环境中需要访问的网页地址,以及与在所述网页中要获取的数据相对应的文件标签等信息。由此,可以通过构建一数据库,来记录所述半封闭数据环境的网络访问地址、可登录该数据环境的预设登录信息、在该数据环境中需要访问的网页地址,以及与在所述网页中要获取的数据相对应的文件标签信息。当然,除了预先分析获知外,在登录半封闭数据环境后,通过对其各个页面进行自动访问和分析也可以获知相应的网页地址以及文件标签等信息。但从搜索效率和准确性角度来说,显然根据预设信息执行访问的效果更好。在步骤S104处,所述客户端浏览器在登录成功后对所述半封闭数据环境中的预设网页地址进行访问,并获取从所述半封闭数据环境的服务器返回的对应网页的数据文件。所述半封闭数据环境存在与其对应的网络访问地址,基于该网络访问地址,客户端浏览器利用预设的登录信息登录半封闭数据环境的服务器后,就可以对其各个页面进行访问。为了提高访问效率和准确性,本发明实施例利用预先设置的网页地址来执行访问。例如在登录某个社交网站后,可以直接控制浏览器访问存在感兴趣数据的页面;再例如登录某个网银后,可以直接控制浏览器访问存在产品介绍的页面。具体而言,该预先设置的网页地址可以包括单一的网页地址和/或网页地址流。进一步地,客户端浏览器对预设的单一网页地址进行访问,即访问一个预设的网页地址;而客户端浏览器对预设的网页地址流进行访问(所述网页地址流包含有序的多个网页地址),即基于该网页地址流中包含的有序的多个网页地址的顺序,依次执行该多个网页地址中的每一个网页地址,用以获取从所述半封闭数据环境的服务器返回的对应网页的数据文件,其中,该数据文件与位于所述有序的多个网页地址中的最后一个网页地址行相对应。对于一些对安全性要求较高的数据环境,往往会要求访问方携带会话令牌才可以执行访问,因此,根据本发明的实施例,可以在登录成功后,进一步获取由所述半封闭数据环境的服务器分配的会话令牌,并携带该会话令牌对所述半封闭数据环境中的预设网页地址进行访问。在步骤S106处,根据预设的与所述网页相对应的数据位置信息,从所述数据文件中将相应位置的数据提取出来。对通过所述客户端浏览器访问获得的网页数据文件进行分析,根据预设的与在所述网页中要获取的数据相对应的文件标签信息,在所述数据文件中定位相匹配的标签的位置。尽管可以通过对获得的数据文件进行自动分析获取与感兴趣的数据相对应的文件标签信息,但出于效率和准确性考虑,根据本发明实施例,可以事先在数据库中存储针对特定网页地址的特定的文件标签信息,该标签代表了特定的数据在网页数据文件中的位置。例如,可以在数据库中存储:1、要访问的网络访问地址:www.facebook.com ;2、相应的预设登录信息:账号:mike ;密码:123 ;3、存在感兴趣数据的需要访问的网页地址:
1.facebook.com ;4、在该网页的数据文件中感兴趣的数据对应的标签信息为第2个<a>标签。当本发明实施例运作时,可以首先从数据库获取要访问的网络访问地址,然后根据相应的登录信息执行登录,登录成功后可控制浏览器直接访问预设的网页地址,从获得的网页数据文件中根据预设的文件标签信息定位相匹配的标签位置。
根据所述标签位置,将与该标签位置相对应的数据提取出来。所述定位相匹配的标签的位置,目的在于将与该标签位置相对应的数据提取出来展示给用户,所以,当在所述数据文件中定位相匹配的标签的位置后,便可以提取与该标签位置相对应的数据。在提取数据时,数据文件中的某些数据可以直接提取出来并展示给用户,例如,文子内名但是,在数据文件中还可能包括脚本数据(如,JS代码),由于脚本数据是可执行文件,所以不能直接提取数据,在这种情况下,可以通过其他方式达到提取数据的目的,例如先运行与该标签位置相对应的脚本数据以获得该脚本数据的运行结果,并将运行结果数据提取出来。本发明还提供了一种用于半封闭数据环境下的数据搜索装置,图2所示为本发明实施例的用于半封闭数据环境下的数据搜索装置的模块图。根据本发明的装置,可以包括登录模块210、访问模块230、提取模块250。登录模块210,用于构建一个客户端浏览器,通过该浏览器,使用预设登录信息登录访问所述半封闭数据环境的网络访问地址。预先构建一个数据库,用于记录所述半封闭数据环境的网络访问地址、可登录该数据环境的预设登录信息、在该数据环境中需要访问的网页地址,以及与在所述网页中要获取的数据相对应的文件标签信息。利用预设的登录信息,登录模块210可以获得该半封闭数据环境的访问权限。访问模块230,用于所述客户端浏览器在登录成功后对所述半封闭数据环境中的预设网页地址进行访问,并获取从所述半封闭数据环境的服务器返回的对应网页的数据文件。对于要求访问方携带会话令牌才可以进行访问的半封闭数据环境,当登录模块210成功登录该半封闭数据环境的服务器后,该服务器会发放会话令牌,访问模块230获取由所述半封闭数据环境的服务器分配的会话令牌,并携带该会话令牌对该半封闭数据环境中的预设网页地址进行访问。提取模块250,用于根据预设的与所述网页相对应的数据位置信息,从所述数据文件中将相应位置的数据提取出来。在该提取模块250中还包括定位单元(未示出)和提取单元(未示出)。其中,定位单元用于对通过所述客户端浏览器访问获得的网页数据文件进行分析,根据预设的与在所述网页中要获取的数据相对应的文件标签信息,在所述数据文件中定位相匹配的标签的位置。提取单元用于根据所述标签位置,将与该标签位置相对应的数据提取出来。若在数据文件中包含脚本数据,则所述提取模块250中的提取单元运行与该标签位置相对应的脚本数据,并将运行结果数据提取出来。本发明通过预设并记录半封闭数据环境中的有用数据的方式,在半封闭数据环境中,定位并提取数据,最终将该数据展现给用户,从而提高了数据搜索效率、扩大了数据搜索范围,同时也提高了数据搜索结果的准确性。由于图2所描述的本发明的装置所包括的各个模块的具体实施方式
与本发明的方法中的步骤的具体实施方式
是相对应的,由于已经对图1进行了详细的描述,所以为了不模糊本申请,在此不再对各个模块的具体细节进行描述。以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
权利要求
1.一种用于半封闭数据环境下的数据搜索方法,其特征在于,包括: 构建一个客户端浏览器,通过该浏览器,使用预设登录信息登录访问所述半封闭数据环境的网络访问地址; 所述客户端浏览器在登录成功后对所述半封闭数据环境中的预设网页地址进行访问,并获取从所述半封闭数据环境的服务器返回的对应网页的数据文件; 根据预设的与所述网页相对应的数据位置信息,从所述数据文件中将相应位置的数据提取出来。
2.如权利要求1所述的方法,其特征在于,所述根据预设的与所述网页相对应的数据位置信息,从所述数据文件中将相应位置的数据提取出来的步骤,包括: 对通过所述客户端浏览器访问获得的网页数据文件进行分析,根据预设的与在所述网页中要获取的数据相对应的文件标签信息,在所述数据文件中定位相匹配的标签的位置; 根据所述标签位置,将与该标签位置相对应的数据提取出来。
3.如权利要求2所述的方法,其特征在于,所述将与该标签位置相对应的数据提取出来的步骤,包括:运行与该标签位置相对应的脚本数据,并将运行结果数据提取出来。
4.如权利要求2所述的方法,其特征在于,进一步包括:构建一数据库,记录所述半封闭数据环境的网络访问地址、可登录该数据环境的预设登录信息、在该数据环境中需要访问的网页地址,以及与在所述网页中要获取的数据相对应的文件标签信息。
5.如权利要求1所述的方法,其特征在于,所述客户端浏览器在登录成功后,进一步包括:获取由所述半封闭数据环境的服务器分配的会话令牌,并携带该会话令牌对所述半封闭数据环境中的预设网页地址进行访问。
6.一种用于半封闭数据环境下的数据搜索装置,其特征在于,包括: 登录模块,用于构建一个客户端浏览器,通过该浏览器,使用预设登录信息登录访问所述半封闭数据环境的网络访问地址; 访问模块,用于所述客户端浏览器在登录成功后对所述半封闭数据环境中的预设网页地址进行访问,并获取从所述半封闭数据环境的服务器返回的对应网页的数据文件; 提取模块,用于根据预设的与所述网页相对应的数据位置信息,从所述数据文件中将相应位置的数据提取出来。
7.如权利要求6所述的装置,其特征在于,所述提取模块包括: 定位单元,用于对通过所述客户端浏览器访问获得的网页数据文件进行分析,根据预设的与在所述网页中要获取的数据相对应的文件标签信息,在所述数据文件中定位相匹配的标签的位置; 提取单元,用于根据所述标签位置,将与该标签位置相对应的数据提取出来。
8.如权利要求7所述的装置,其特征在于,所述提取单元,用于运行与该标签位置相对应的脚本数据,并将运行结果数据提取出来。
9.如权利要求7所述的装置,其特征在于,进一步包括一数据库,用于记录所述半封闭数据环境的网络访问地址、可登录该数据环境的预设登录信息、在该数据环境中需要访问的网页地址,以及与在所述网页中要获取的数据相对应的文件标签信息。
10.如权利要求6所述的装置,其特征在于,所述访问模块,用于获取由所述半封闭数据环境的服务器分配的会话令牌,并携带该会话令牌对所述半封闭数据环境中的预设网页地址进 行访问。
全文摘要
本发明涉及一种用于半封闭数据环境下的数据搜索的方法和装置,包括构建一个客户端浏览器,通过该浏览器,使用预设登录信息登录访问所述半封闭数据环境的网络访问地址;所述客户端浏览器在登录成功后对所述半封闭数据环境中的预设网页地址进行访问,并获取从所述半封闭数据环境的服务器返回的对应网页的数据文件;根据预设的与所述网页相对应的数据位置信息,从所述数据文件中将相应位置的数据提取出来。本发明可以无需建立特殊接口即可实现对半封闭数据环境的自动搜索,将其中所需要的数据准确的提取出来,从而提高了数据搜索效率、扩大了数据搜索范围,同时也提高了数据搜索结果的准确性。
文档编号G06F17/30GK103218422SQ201310111969
公开日2013年7月24日 申请日期2013年4月1日 优先权日2013年4月1日
发明者张士益 申请人:张士益
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1