一种网络信息的搜索方法和系统的制作方法

文档序号:6579206阅读:158来源:国知局

专利名称::一种网络信息的搜索方法和系统的制作方法
技术领域
:本发明涉及互联网应用
技术领域
,特别是指一种网络信息的搜索方法和系统。
背景技术
:企业内部往往存在多个基于环球网(WEB)的信息系统,不同的信息系统有不同的WEB搜索页面。同时,企业内部信息系统与外部互联网搜索引擎是各自独立的。而目前主流的外部互联网搜索引擎就有Google、百度、Live、Yahoo、中搜、有道等多个。搜索网站Dogpile.com、美国匹兹堡大学和宾夕法尼亚州大学联合组织了一次调查,随机抽取了10316个搜索关键词,结果发现,AskJeeves,Google和雅虎提供的336232个结果中只有3%,S卩10712个结果是相同的,有12%的搜索结果两家是相同的,其余85%的搜索结果三家各不相同,存在很大的差异。因此,用户查找信息时要分别打开不同的页面进行查找,信息的查找非常繁琐,查看起来也非常不直观。另外,由于外部互联网信息的丰富,企业内部信息系统往往受到冷落,用户往往只查询外部互联网的知识,导致内部信息系统的利用率很低,内部信息系统的作用没有得到充分的发挥。
发明内容有鉴于此,本发明的目的在于提出一种网络信息的搜索方法和系统,使用户通过一个搜索框即可以同时搜索到内部和外部互联网多个WEB搜索引擎的丰富知识,方便用户对信息的一站式获取。基于上述目的本发明提供的一种网络信息的搜索方法,包括获取不同搜索引擎的搜索结果页面;对搜索结果页面进行解析处理后获取搜索结果;对搜索结果的来源地址进行对比去除来源地址重复的搜索结果;对去除来源地址重复的搜索结果整合后进行展示。可选的,该方法所述获取不同搜索引擎的搜索结果页面过程进一步包括获取搜索地址,根据搜索地址获取页面的内容并保存。可选的,该方法所述获取搜索地址前还包括预先定义搜索引擎地址+关键字+指定页数的组合;每次只依次解析一个搜索结果页面获取搜索结果;在完成去除来源地址重复的搜索结果步骤后,进一步判断当前搜索结果页面是否达到指定页数,若已达到则展示整合后的搜索结果,否则返回获取不同搜索引擎的搜索结果页面的步骤;或者在完成获取搜索结果的步骤后,进一步判断当前搜索结果页面是否达到指定页数,若已达到则执行去除来源地址重复的搜索结果的步骤,否则返回获取不同搜索引擎的搜索结果页面的步骤。可选的,该方法所述对搜索结果页面进行解析处理后获取搜索结果的过程中,若3搜索结果返回的页面为超文本链接标示语言html文件,则该过程包括对html文件进行字符串的正则表达式匹配得到结果信息。可选的,该方法所述搜索结果信息包括标题、摘要、来源地址。可选的,该方法所述搜索引擎包括外部互联网搜索引擎和内部信息系统的搜索引擎。可选的,该方法还包括预先设置对各外部互联网和内部信息系统进行了单点登录的集成;或者利用统一的搜索引擎,直接获取各外部互联网和内部信息系统的数据,分别处理,在执行完所述去除来源地址重复的搜索结果后,对去除来源地址重复的搜索结果整合后进行展示。可选的,该方法所述的搜索地址和来源地址都可以是统一资源定位符(URL)。基于上述目的本发明还提供了一种网络信息搜索系统,包括搜索页面获取模块,用于获取不同搜索引擎的搜索结果页面;搜索结果获取模块,用于对搜索结果页面进行解析处理后获取搜索结果;去重处理模块,用于对搜索结果的来源地址进行对比去除来源地址重复的搜索结果;展示模块,用于对去除来源地址重复的搜索结果整合后进行展示。从上面所述可以看出,本发明提供的网络信息的搜索方法和系统,通过通用的可伸缩的搜索结果整合方案将多个WEB搜索引擎的查询结果进行整合并集中展示。这样,用户通过一个搜索框即可以同时搜索到内部和外部互联网多个WEB搜索引擎的丰富知识,极大地方便了用户对信息的一站式获取。本发明适用于任何基于TOB的搜索引擎,不需要了解TOB搜索引擎的底层技术,通过分析查询结果的WEB页面即能将不同的搜索结果整合到一个页面上面,打破了企业内部WEB搜索引擎和外部互联网搜索引擎的分隔,方便用户的查询,具有很好的灵活性和扩展性。其中,对于互联网搜索引擎的搜索结果,由于用户通常只会查询前10页左右的数据,因此,可以根据需要适当获取一定页数的搜索结果,这样需要对比的数据量并不会非常多。图1为本发明实施例网络信息搜索方法的流程示意图;图2为本发明网络信息搜索方法第一个较佳实施例的流程示意图;图3为本发明网络信息搜索方法第二个较佳实施例的流程示意图;图4为本发明实施例网络信息搜索系统的结构示意图。具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。本发明网络信息的搜索方法和系统的技术方案主要包括获取不同搜索引擎的搜索结果页面;对搜索结果页面进行解析处理后获取搜索结果;对搜索结果的来源地址进行对比去除来源地址重复的搜索结果;对去除来源地址重复的搜索结果整合后进行展示。参见图1所示,具体过程如下步骤101,获取搜索地址,该搜索地址对于因特网来说是统一资源定位符(URL)。本步骤中,首先,可列出需要整合的各个WEB搜索系统供用户选择。当用户指定了多个WEB搜索系统,并输入搜索主题进行搜索时,需要将搜索主题分别与各个TOB搜索系统URL组合成搜索命令并指定页数,形成搜索引擎地址+关键字+指定页数的组合,其中不同的搜索引擎命令和其他参数会有所不同。如”http//www.google,cn/search?q=〃+关键字+指定页数+其他参数。然后,执行搜索获取搜索结果。因为不同TOB搜索系统的命令格式是不同的,因此需要在本发明网络信息的搜索系统中预先定义好所述搜索引擎地址+关键字+指定页数的组合,以便系统根据命令格式自动生成搜索命令。当然,也可以不设置指定页数,这样网络信息的搜索系统会对所有搜索到的页面都进行处理。步骤102,根据关键字分别获取不同搜索引擎的搜索结果页面。具体为根据搜索地址URL获取页面的内容并保存。如利用搜索地址URL通过HttpWebRequest对象建立连接,通过WebResponse对象获得搜索引擎的反馈,通过StreamReader对象(C#)获取页面内容,并保存在字符串中。步骤103,解析搜索结果页面获取搜索结果。分别针对不同搜索引擎搜索结果页面的超文本链接标示语言(HTML)标签分析页面内容,获得结果列表,列表的每一个搜索结果包含标题、摘要、来源地址等属性。如google采用div标签标识每一条搜索结果,可根据div标签来抽取每条搜索结^ο具体包括如下内容搜索结果返回的是页面的html文件。对html文件进行字符串的正则表达式匹配,得到标题、摘要、来源地址等信息。正则表达式是根据html文件中的具体内容分布得到的。例如(1)对百度的返回结果使用正则表达式,可以获得百度返回页面的所有结果的内容的集合。stringresultTabIeRegex=〃〈tableborder=\〃0\〃cellpadding=0\"cellspacing=\〃0/〃>((!</?table.)*〈/table〉";MatchCollectionresultMC=Regex.Matches(pageHTML,resultTableRegex);(2)再对每一个结果,使用正则表达式AnchorRegex进行匹配获得第一个链接。AnchorRegex=“<a[">]*>((!</?a·)*</a>〃MatchCollectionanchorMC=Regex.Matches(resultMC[i].toString(),AnchorRegex);stringanchor=mc·ToString();然后,对这个链接再进一步匹配IinkRegex和titleRegext获得一个结果的url5和标题IinkRegex="href=([〃〃‘])?(?<link>[“\s]+?)\1?(\s|>)〃;titleRegext=〃<a.*>(<text>.*)</a>〃;Matchml=Regex.Match(anchor,@"href=(linkRegex,RegexOptions.IgnoreCase);StringUrl=ml.Groups["link"].Value;获得搜索结果的来源url.Matchm2=Regex.Match(anchor,href=(titleRegext,RegexOptions.IgnoreCase);StringTitle=ml.Groups["link"]·Value;获得搜索结果的标题(3)对每一个结果,使用正则表达式ContentRegex可以获得每个结果的具体内容Content和Discription大小等相关信息。ContentRegex=‘‘<br>(?<content>.-k?)<br>(?<discription>.*)<a"StringContent=m.Groups[“content“]·Value;StringDiscription=m.Groups["discription"]·Value;再对Discription再进一步匹配,可以获得Size和Date信息。StringSize=Regex.Match(m.Groups["discription"].Value,§"\d+[kK]")·Value;Stringdate=Regex.Match(m.Groups["discription"].Value,§"\d{4}-\d\d?-\d\d")·Value;通过以上(l)-(3)三个步骤操作可以得到所有结果的url、title、COntent、SiZe、date信息。最后可将这些信息分类保存在所述结果列表中。步骤104,对不同搜索引擎的搜索结果进行去重处理。对不同搜索引擎的结果列表进行对比,没有重复的则写入新列表中,有重复的则选择其中一个搜索引擎的结果写入新列表。具体可根据文章的来源URL判断例如查3g,google禾口baidu得至Ij的来源都是:http//baike.baidu.com/view/808.htm就可以选择任意一个搜索引擎的搜索结果写入新列表。步骤105,展示整合后的搜索结果。将最后新列表的内容通过一个HTML页面展示出来,可以根据需要进行分页。在定义的指定页数的情况下,上述步骤101-105具体可以有两种实现方式参见图2所示,步骤103中每次只依次解析一个搜索结果页面获取搜索结果,当完成步骤104去重处理操作后,判断当前搜索结果页面是否达到所述指定的搜索页面的页数,若已达到则执行步骤105展示整合后的搜索结果,否则返回步骤101继续搜索。参见图3所示,还可以在步骤103中每次只依次解析一个搜索结果页面获取搜索结果,当完成步骤103获取搜索结果的操作后,判断当前搜索结果页面是否达到所述指定的搜索页面的页数,若已达到则执行步骤104去重处理操作,否则返回步骤101继续搜索。基于上述方法,本发明还提出了一种网络信息的搜索系统,至少包括搜索页面获取模块,用于获取不同搜索引擎的搜索结果页面;搜索结果获取模块,用于对搜索结果页面进行解析处理后获取搜索结果;去重处理模块,用于对搜索结果的来源地址进行对比去除来源地址重复的搜索结果;展示模块,用于对去除来源地址重复的搜索结果整合后进行展示。以上所述的具体实施例仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求一种网络信息的搜索方法,其特征在于,包括获取不同搜索引擎的搜索结果页面;对搜索结果页面进行解析处理后获取搜索结果;对搜索结果的来源地址进行对比去除来源地址重复的搜索结果;对去除来源地址重复的搜索结果整合后进行展示。2.根据权利要求1所述的方法,其特征在于,所述获取不同搜索引擎的搜索结果页面过程进一步包括获取搜索地址,根据搜索地址获取页面的内容并保存。3.根据权利要求2所述的方法,其特征在于,所述获取搜索地址前还包括预先定义搜索引擎地址+关键字+指定页数的组合;每次只依次解析一个搜索结果页面获取搜索结果;在完成去除来源地址重复的搜索结果步骤后,进一步判断当前搜索结果页面是否达到指定页数,若已达到则展示整合后的搜索结果,否则返回获取不同搜索引擎的搜索结果页面的步骤;或者在完成获取搜索结果的步骤后,进一步判断当前搜索结果页面是否达到指定页数,若已达到则执行去除来源地址重复的搜索结果的步骤,否则返回获取不同搜索引擎的搜索结果页面的步骤。4.根据权利要求1所述的方法,其特征在于,所述对搜索结果页面进行解析处理后获取搜索结果的过程中,若搜索结果返回的页面为超文本链接标示语言html文件,则该过程包括对html文件进行字符串的正则表达式匹配得到结果信息。5.根据权利要求1或4所述的方法,其特征在于,所述搜索结果信息包括标题、摘要、来源地址。6.根据权利要求1所述的方法,其特征在于,所述搜索引擎包括外部互联网搜索引擎和内部信息系统的搜索引擎。7.根据权利要求6所述的方法,其特征在于,该方法还包括预先设置对各外部互联网和内部信息系统进行了单点登录的集成;或者利用统一的搜索引擎,直接获取各外部互联网和内部信息系统的数据,分别处理,在执行完所述去除来源地址重复的搜索结果后,对去除来源地址重复的搜索结果整合后进行展7J\ο8.根据权利要求1所述的方法,其特征在于,所述搜索地址和来源地址是统一资源定位符URL。9.一种基于权利要求1-8任意一项所述方法的网络信息搜索系统,其特征在于,包括搜索页面获取模块,用于获取不同搜索引擎的搜索结果页面;搜索结果获取模块,用于对搜索结果页面进行解析处理后获取搜索结果;去重处理模块,用于对搜索结果的来源地址进行对比去除来源地址重复的搜索结果;展示模块,用于对去除来源地址重复的搜索结果整合后进行展示。全文摘要本发明公开一种网络信息的搜索方法和系统,包括获取不同搜索引擎的搜索结果页面;对搜索结果页面进行解析处理后获取搜索结果;对搜索结果的来源地址进行对比去除来源地址重复的搜索结果;对去除来源地址重复的搜索结果整合后进行展示。通过本发明使用户通过一个搜索框即可以同时搜索到内部和外部互联网多个WEB搜索引擎的丰富知识,方便用户对信息的一站式获取。文档编号G06F17/30GK101944093SQ200910158158公开日2011年1月12日申请日期2009年7月3日优先权日2009年7月3日发明者刘晓玲,唐熙文,张敏,林立宇,陈云海申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1