CN101971172B - 移动站点地图 - Google Patents

移动站点地图 Download PDF

Info

Publication number
CN101971172B
CN101971172B CN2006800403580A CN200680040358A CN101971172B CN 101971172 B CN101971172 B CN 101971172B CN 2006800403580 A CN2006800403580 A CN 2006800403580A CN 200680040358 A CN200680040358 A CN 200680040358A CN 101971172 B CN101971172 B CN 101971172B
Authority
CN
China
Prior art keywords
document
site maps
url
information
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2006800403580A
Other languages
English (en)
Other versions
CN101971172A (zh
Inventor
阿兰·C·施特罗姆
胡峰
萨斯卡·B·布拉瓦尔
麦西米利恩·艾贝尔
拉法·M·凯勒
纳拉亚男·西瓦库玛尔
埃拉德·吉尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority claimed from PCT/US2006/032700 external-priority patent/WO2007027469A2/en
Publication of CN101971172A publication Critical patent/CN101971172A/zh
Application granted granted Critical
Publication of CN101971172B publication Critical patent/CN101971172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种对文档或文档之间关系进行分析的方法,包括接收包含关于一个或多个网络可访问文档的可用元数据文档的通知,获取与元数据文档相关的文档格式指示符,使用文档格式指示符来选择文档爬虫,以及使用选定的文档爬行器来抓取至少部分网络可访问文档。

Description

移动站点地图
相关申请的交叉引用
本申请是2005年8月29日提出的申请号为11/214,708的美国申请的连续申请,并且对其要求优先权,将该申请以引用的方式包括在此。
技术领域
本发明涉及在诸如因特网的网络上对信息进行定位,并且尤其涉及将诸如移动格式的网站的文档进行索引,以使得服务于移动设备的应用(例如搜索引擎)可以更易于以设备能够显示的形式,将与文档相关的结果进行传递。
背景技术
随着可用信息在因特网和其他网络上的增长,对用户来说将与其相关的特定信息进行定位越来越难。例如,一个寻找关于“骑自行车”信息的用户可能会被给出:关于骑自行车的生理学方面的信息、在特定区域的骑自行车路线、关于特定运动商品公司相关销售的经济信息、或者各种自行车公司的销售网页。提供给用户的信息的范围也可能是从极具专业性、充分研究的信息,到具有很少准确指示、或甚至以任何方式提供帮助的信息。用户还希望访问尽可能多的信息,从这些信息中可以去粗取精。
搜索引擎帮助用户找到相关数据。为了完成这项工作,搜索引擎通常将所有可用信息编入目录或编入索引,以使得当用户发出搜索请求时,可以很快地对索引进行搜索。搜索引擎通常使用“网络爬行器”(web crawler)来发现信息,例如,其跟随将一个诸如网页或图片文件的文档连接到其它文档的链接(也称为超链接)。尤其是,爬行器的运行与一个上网“冲浪”的很有好奇心的人很相似,通过访问每个网页,接着“点击”页面上的每个链接直到该页面上的所有链接和在下层页面上的所有链接都被访问并编入索引为止。有时将该过程称为“基于发现”的抓取。
传统的基于发现的抓取可能在某些情形下有一定不足。例如,抓取的范围可能不全面,因为可能有些文档爬行器不能仅通过跟随链接来发现。而且,爬行器可能不能对某些嵌入在菜单、JAVASCRIPT脚本、和其它基于网页的应用逻辑(诸如触发数据库查询的表格)之中的链接进行辨别。爬行器可能也不知道文档是否在先前抓取之后发生变化,并且因此可在当前抓取周期中跳过该文档。另外,爬行器可能不知道何时对特定的网站进行抓取以及在抓取过程中给网站施加多大的负载。在高业务量期间抓取和/或在抓取期间加多大负载可能耗尽网站的网络资源,使得网站不易为别人所访问。
当爬行器要寻找移动内容的时候会产生额外的困难,尤其是因特网上可用的绝大多数网站是使用可显示文本、图形、动画、和其它丰富内容的全功能桌面浏览器程序(例如,网景Navigator,InternetExplorer,或Firefox)来查看的。许多移动设备,例如PDA和移动电话,对特定类型内容进行显示的能力有限。所以,通过特定内容是否是移动内容以及该内容能否在特定设备上正确显示来将特定已编入索引的内容进行分类是更好的。然而,当爬行器试图获取移动内容时,为了获取内容,爬行器可能尝试对使用浏览器的真人活动进行模拟。为了确保爬行器能获取所有类型的内容,其可能采用某些移动设备不支持的较大的特征集,因此将把不适合于某些用户的内容编入索引。而且,爬行器可能把指出爬行器是具有全功能浏览器的复杂用户的用户代理字符串传递给服务器。接着,服务器可返回对这种全功能浏览器设计的内容,并可隐藏对等但更简单的对特定移动设备或移动设备种类设计的移动内容。所以,需要提供对移动文档准确分析的能力,例如通过爬行器系统的使用。
发明内容
一般说来,本文讨论系统和方法,通过该系统和方法,内容提供者可以对一个或多个网络可访问文档(例如,网页)生成网站地图,并且可将该网站地图提交给远程计算机,例如与搜索引擎相关的计算机。接着,远程计算机可访问该网站地图,以更有效地访问和/或对这些文档中的文档或信息进行索引。内容提供者,例如建立网站的网络管理员或自动内容管理系统,可指出特定的内容是用于显示在特定移动设备或其它具有有限显示能力的设备之上。远程计算机可使用该指示来选择适当的访问和抓取数据的机制。例如,爬行器可实施目的是对XHTML格式的内容进行解释的实例。
在一个实施方式中,对文档或文档之间关系进行分析的方法包括:接收包含关于一个或多个网络可访问文档的信息的可用元数据文档的通知,获取与元数据文档关联的文档格式指示符,使用文档格式指示符选择文档爬行器,并且使用已选定的文档爬行器来抓取至少部分网络可访问文档。网络可访问文档可包括在共同域中的多个网页,并且元数据文档可包括文档识别符列表。另外,文档格式指示符可指示一个或多个移动内容格式,包括XHTML、WML、iMode、和HTML。
在某些实施方式中,可把通过抓取至少部分网络可访问文档所检索的信息添加到索引之中。而且,可从移动设备接收搜索请求,并且可使用在索引中的信息来将搜索结果发送给移动设备。可用的元数据文档也可包括引用多个文档列表的索引。另外,可接收对于一个或多个网络可访问文档的文档类型的指示(例如,新闻、娱乐、商业、体育、旅游、游戏和金融),并且可使用文档类型的指示来将文档进行分类。也可对文档类型的指示的提供者的身份进行检验以确保提供者是可信的。
在另一个实施中,提供了列出网络可访问文档的方法。该方法包括:生成代表相关网络可访问文档的组织的映射文档,将包括映射文档可用于访问的指示和文档格式的指示的通知发送到远程计算机。映射文档可包括文档识别符的列表,并且文档格式的指示可指出一个或多个影响对文档进行解释的能力的移动文档格式。通知还可包括映射文档位置信息的指示,并且当用户填写基于网页的表格时,可将通知进行发送。
另一方面,讨论了用于抓取网络可访问文档的系统。系统包括:将关于在一个或多个网站上的网络可访问文档的组织信息以及文档的格式信息进行存储的存储器,被配置来使用组织信息来访问网络可访问文档的爬行器,以及与爬行器关联的格式选择器来使得爬行器呈现与格式信息所指示的格式相兼容的角色(persona)。组织信息可包括URL的列表。并且,可提供代理仓库,其存储使得爬行器呈现选定角色的参数。
在另一个实施中,提供了用于抓取网络可访问文档的系统,并且包括:将关于一个或多个网站上的网络可访问文档的组织信息以及文档的格式信息进行存储的存储器,被配置以使用组织信息来访问网络可访问文档的爬行器,以及用于在访问网络可访问文档中选择呈现的爬行器角色的装置。
另一个实施涉及用于与计算机系统结合使用的计算机程序产品。该产品包括计算机可读存储介质和嵌入在其中的计算机程序机制。该机制包括指令用于:生成代表相关网络可访问文档的组织的映射文档,并且将包括列表可用于访问的指示和文档格式的指示的通知发送到远程计算机。映射文档可包括文档识别符的列表,并且文档格式的指示可指出一个或多个影响对文档进行解释的能力的移动文档格式。另外,通知可包括映射文档的位置信息的指示,并且当用户填写基于网页的表格时,可将通知进行发送。
在附图和以下说明中阐明本发明的一个或多个实施方式的细节。由说明书、附图和权利要求书,本发明的其它特征、目的、和优点将变得明显。
附图说明
图1是概念图,示出在系统中的组件之间的通信,用于在系统的一部分中访问并分析信息的组织。
图2是用于将因特网文档编入索引来由搜索引擎进行访问的系统的示意图。
图3是示出用于访问和分析系统中的信息组织的动作的流程图。
图4是用于生成网站的网站地图的过程的概念图。
图5是示出用于存储网站地图生成器控制参数的数据结构的框图。
图6是示出用于生成网站地图的过程的流程图。
图7是示出用于生成网站地图的另一个过程的流程图。
图8是示出用于生成差异网站地图(differential sitemap)的过程的流程图。
图9是示出网络爬行器系统的框图。
图10是示出网站地图爬行器的框图。
图11是示出用于基于包括在网站地图中的信息来调度文档下载的过程的流程图。
图12是示出用于将网站地图添加到搜索系统的显示的示例性屏幕截图。
图13是示出用于将移动网站地图添加到搜索系统的显示的示例性屏幕截图。
图14是示出用于对用户已识别网站地图进行查看和管理的显示的示例性屏幕截图。
图15是示出网站服务器的框图。
在不同附图中的相同参考符号表示相同内容。
具体实施方式
图1是概念图示出在系统10之中组件之间的通信,用于在系统10的一部分中访问并分析信息的组织。通常说来,将系统10配置得使得诸如网站管理员的用户可开发用于网站的内容,包括在多个链接的文档(例如网页)之中的内容。接着,用户可生成“网站地图”,它是文档组织的代表。如以下将会更详细描述的那样,例如,网站地图可包括XML或其它类似的文件格式(具有指示网站的组织的URL列表),并且还包括特定的其它通用数据、或元数据,例如,存储内容的格式、内容应当被访问的速度,以及内容的代表应当被更新的频率。
接着,不论直接或通过应用程序,用户可将网站地图是可用的通知给另一个系统(例如用于搜索引擎的爬行器的组件),并可提供网站地图的位置信息。用户还可提供与网站地图相关的文档的格式的指示。例如,如果文档是移动文档,用户可指出文档具有XHTML、WML、或iMode格式。接着,爬行器可使用已递交的信息来选择适当的抓取模式并且更有效地从文档检索信息,例如用来存储进搜索引擎的索引之中。
对于文档或者文档格式组的识别也可以是自动产生的。例如,自动过程可通过从特征默示的文档格式来识别一个或多个文档的特征。这类过程也可在机器学习系统中进行,在其中可自动做出确定、测试确定的精确性、并且根据改进系统分类的能力来把根据格式对文档分类的规则进行更新。也可将预确定的规则集应用到一个或多个文档的内容以将其分类为具有特定格式。这种分类技术在Google公司于2005年6月15日申请的同时待审的美国专利申请11/153,123中公开,名称为“Electronic Content Classification”。将其整体以引用的方式包括在此
如果网络爬行器使用网站地图的话,那么可导致更广的抓取范围,因为网站地图可包括诸如仅可通过数据库查询访问而不可通过跟随链接来访问的文档。网站地图还可提供最后修改的日期。网络爬行器可使用最后修改日期来确定文档是否已变化,并且由此可避免抓取那些内容没有变化的文档。使用网站地图以避免抓取未变化的文档可使得万维网爬行器和网络爬行器效率显著提高。网站地图还包括:网站爬行器可通过其来确定以下信息:先抓取哪些文档、抓取文档中呈现的格式或角色,以及在抓取时将多大的负载量加于网络服务器之上。这也有助于节省网络资源。
在该示例性系统10中的主要组件是:客户机14、与客户机14关联的服务器16、以及没有直接与客户机14关联的服务器系统12。客户机14可以是诸如个人计算机或其它被配置来对在客户机14上或其它计算机上(例如,服务器16或服务器系统12)运行的程序进行访问的计算机。客户机也是是PDA、工作站、自助服务终端(kiosk)计算机、或其它适当的计算平台。
服务器16可以是诸如网络服务器或与网络服务器进行通信的存储与网络相关内容的服务器。所以,例如,客户机14上的用户可工作来开发多个诸如网页的文档以组成网站。用户可将超链接插入在各种文档之间或之内,并且也可包括到网站之外的其它文档的链接,不论其存储在服务器16还是其他地方。服务器16也可以是客户机14自身的一部分。特定的物理结构并非关键,本领域的技术人员可了解不同的实施方式。客户机14和服务器16示出为与服务器系统12分开的点方框,以指示客户机14和服务器16通常将由单个组织(例如拥有网站的公司)来运行,而服务器系统12将通常由单独的组织(例如搜索引擎提供者)来运行。
服务器系统12可以是远离客户机14和服务器16的系统的一部分。例如,服务器可以是诸如由Google运行的搜索引擎系统的一部分。尽管被示为一系列类似的服务器计算机,服务器系统12中的服务器可包括:诸如刀片服务器(blade server)或其它用于从客户机接收请求并对请求做出适当响应的计算机平台。如以下将要详细描述的那样,服务器16可包括:用于接收请求和发送响应的网络服务器,以及用于收集适当信息以对请求做出响应的内容服务器,和用于选择和生成适当宣传内容的广告服务器。术语“客户机”和“服务器”的使用并非意图对任何一种类型的计算机施加特殊要求。确切地说,客户机可能仅仅是寻求访问特定数据的计算机,而服务器可能是提供数据的计算机。所以,一台计算机可能在一种情形下是客户机,而在另一种情形下是服务器。
在图一中标有字母的箭头示出在系统10的组件之间的信息的示例性流动。在由箭头A所指示的第一通信会话中,客户机14与服务器16进行通信以生成诸如基于网页的文档之类的内容。例如,客户机14可运行网络认证应用的实例(例如,Adobe Sitemill、GoLive CyberStudio、HoTMetal Pro、Macromedia Dreamweaver、NetObjects Fusion、或Microsoft FrontPage)或者更复杂的内容管理系统(例如,来自Vignette、Interwoven、或Stellant)。用户可生成大量网页并用各种方式将他们链接在一起。而且,特定网页不会以通过典型的基于发现的抓取来到达这些网页的方式来链接(例如,深度网络内容)。用于开发网络可访问内容的过程是为人所熟知的。
如以下将要详细描述的那样,当文档处于特定的完成点时,例如当用户意图使文档可为公众所用,用户可使用于该文档的网站地图17生成。网站地图17可代表全部或部分的文档的组织,并且可以包括诸如文档的统一资源定位符(URL)的列表或分组。网站地图17可采用适当的形式,诸如使用预定义的XML标签的可扩展标识语言(XML)文档。如以下将要详细描述的那样,网站地图17也可包含其它信息,例如关于抓取文档应当采取的方式的通用信息。也可使用其它格式,包括纯文本、逗点分隔(comma-delineated)值、和分号分隔(semicolon-delineated)值。因此其它应用程序可以用元数据的形式将网站地图17作为到文档组织的向导。
如箭头B所示,接着可自动或手动地使得客户机14来联系服务器系统12,并发送关于网站地图17的信息。例如,客户机14可提供网站地图17的位置信息。另外,客户机14可提供关于与网站地图17关联的文档的格式的信息。例如,客户机14可指示根据特定标准(例如移动内容标准)来将文档进行格式化。客户机14还可提供文档应当被抓取的频率的指示,即经常更新的文档应当经常被抓取,而较少更新的文档不应当经常被抓取。客户机14还可提供其它这类参数。网站地图17或其它相关的一个或多个文档也可包括一个或多个这类参数,以使得服务器系统12可访问这类参数,而不是通过客户机的触发(instigation)来提供这类参数。
箭头C指出一旦服务器系统12获知网站地图17存在时,其可获取网站地图17的数据。例如,服务器系统12可对由箭头B所标识的通信中识别的位置发出HTTP请求,并且因此获取在网站地图17中的数据。另外,网站地图17可以是指向一个或多个其它网站地图的网站地图索引,或者是与网站地图关联的不同文档,其允许服务器系统12获取关于在服务器16上的文档的组织的信息。
接着,服务器系统12可经由箭头D来抓取或者不然就是访问存储在服务器16上的文档。在适当的情形下,抓取过程通过遍历在网站地图中列出的每个URL来进行。也可通过基于发现的抓取来浏览这类已识别的文档,以使得已访问文档的全集包括在网站地图中列出的文档的超集以及在这些文档中直接或间接引用的所有文档。
在已经将文档格式指示符传递给服务器系统12的情形下,服务器系统12可选择特定的浏览器角色来实施抓取操作。例如,在其请求下,爬行器可包括特定设备或设备种类的用户代理指示符。例如,用户代理指示符可提供爬行器只能解释WML格式的内容的指示。通过提供这种指示符,爬行器可帮助确保其接收适当格式的内容,并且不指向其它更复杂的内容。
特定用户代理与爬行器一起使用又可使得爬行器将关于文档的信息放置在与相关格式相关的特定索引中。例如,服务器系统12可对设计用于显示在移动设备上的内容以及复杂的难以显示在移动设备上的内容来维护分别的索引。也可为特定类型或类型组的移动内容,例如iMode、3g、xhtml、pdahtml、或wml,来维护分别的索引。因此,当用户随后递交搜索请求时,系统可确定用户拥有的设备的类型,并且仅在与可显示在这种设备上的内容关联的索引中进行搜索。在具有可用于识别每个文档或文档组的格式的参数以使得可对适当格式的内容进行定位的情形下,也可将内容全部存储在单个索引中。
总之,通过以上描述的过程,网站的作者可人工或自动地生成代表特定的网络可访问(例如LAN、WAN或因特网)文档的组织的一个或多个文档。用户或用户的应用可将文档的位置信息可能还有与文档相关的附加参数,通知给远程的一个或多个服务器,诸如与因特网搜索引擎关联的服务器(例如,通过传递文档的URL)。于是,远程服务器可使用一个或多个网站地图,来遍历文档,这比可能没有网站地图的其它方式更有效地、更精确地、或更完全。另外,服务器可选择特定的爬行器角色以使得爬行器来获取相关内容(例如移动格式的内容),并且可将该特定内容与其它已索引内容分别存储,或者就是对该内容进行标识。
图2是用于将因特网文档编入索引来用于搜索引擎访问的系统10的原理图。同样,该系统包括客户机14、服务器16和服务器系统12。在该图中示出了其它细节,尤其是与服务器系统12结构相关的细节。此处画出和描述的特定结构仅为示例。如特定应用的需求所要求的那样,也可采用其它适当和对等的结构。并且,在不改变系统10的运行的前提下,可添加各种组件,可移去图中的组件、或将各种组件进行组合或分割。
在图2中,客户机14被示出为通过诸如LAN或WAN的网络连接到服务器16。因此,客户机14和服务器16可包括运行在单个组织或相关组织内的计算机。例如,客户机14可以是指定给组织中的网络管理员或者程序员的个人计算机。服务器16可以是由该组织运行的服务器,例如网络服务器或者与网络服务器通信的计算机。如图所示,客户机14可与服务器16进行通信,以使得网站地图17被生成并使其对诸如服务器12可用。
除了与其它系统以外,服务器系统12还可通过网络20与客户机14和服务器16进行通信,网络20可包括诸如因特网、移动数据系统、和公共交换电话网络(PSTN)。可提供接口22来管理服务器系统12和其它组件之间的通信。接口22可包括诸如一个或多个网络服务器。接口22可控制与服务器系统12的剩余部分进行的部分或全部通信。例如,接口22可将从服务器系统12以外接收的消息重新格式化为可由服务器系统12中的其它组件使用的形式,并且也可将消息路由到服务器系统12中一个或多个适当的组件。另外,接口22可将来自服务器系统12中的多个组件的信息进行组合,并将其格式化为可发送到服务器系统12之外的形式,例如HTTP消息。
接口22可将消息提供给诸如请求解释器36,该解释器可被配置来对输入消息进行分析。这种分析可使得请求解释器36来确定在服务器系统12中的各种组件中的哪些组件应当接收特定消息。例如,请求解释器36可查看头信息以确定消息的特征,例如发送该消息的位置信息或发送该消息的设备类型。并且,请求解释器36可查看消息的内容(例如语法指示),以确定系统12中的哪些组件需要查看消息或消息中的特定信息。请求解释器36也可以是接口22的一部分。
如本领域内所知,可将请求搜索结果的输入消息路由到搜索引擎26,其可提供相关结果以响应搜索请求。例如,搜索引擎26可将搜索请求的内容与存储在索引28中的信息进行比较。索引28可包含代表在网络上(例如因特网)的文档中信息的数据,以使得搜索引擎26可将对用户有帮助的信息的连接提供给用户(例如通过URL)。搜索引擎26可通过使用诸如众所周知的网页排名(PageRank)过程的方法来将与搜索结果的匹配进行识别和排名。
这类结果可通过可对结果进行收集和格式化的内容服务器32进行路由。例如,内容服务器32可从多个搜索引擎26的实例来接收结果,使得可在大型系统中处理大量的近乎同步的搜索请求,其中由特定的搜索引擎26组件来处理每个请求的一部分。内容服务器32可将所有的个别生成的结果以及每个匹配的片段和地址信息合并为一个结果列表,例如URL的列表。
可通过广告服务器34来提供其它响应于请求的内容,例如宣传内容。广告服务器34可能已经对大量每个都与一个或多个关键字或其它识别符关联的宣传项目进行了访问。广告服务器34可查找请求和识别符之间的对应关系,接着可选择与请求相匹配的宣传项目。项目的选择和排名可以基于诸如:广告客户同意支付的金额、请求和项目识别符之间的匹配程度、以及请求和项目之间相关性的指示(例如递交同样请求的其它用户已经选择该项目的频率)。然后,接口22可将取自广告服务器34和内容服务器32的结果进行组合以生成请求的结果,例如以生成网页的形式。
可使用通过爬行器24从网络收集的数据来构建和维护由搜索引擎26使用的索引28。尤其是,爬行器24可遍历在网络上的文档,例如通过使用在文档之间或之中的链接,或者通过使用已提供的关于文档、文档的位置信息、和/或文档与其它文档的关系的映射信息。爬行器24可连续或近乎连续的运行,并且可将其分割为协调运行的多个抓取串或独立服务器或者完全独立的爬行器。
可配置爬行器24以识别文档的特定格式或类型,或配置以分析多种格式或类型,并且可以在各种可用格式或类型之间进行切换。依此,爬行器24可以在从网络20上的文档获取信息的过程中,模仿大量不同的代理或代理的组合。例如,爬行器24可模仿具有WML或XHTML能力的移动手机,或iMode设备。用于移动格式的爬行器可以作为爬行器的单独实例或爬行器多个实例而不是其它抓取途径来运行。然而,除限制移动实例可视性的参数以外,相同的通用抓取结构可在全功能桌面抓取实例,和限制功能移动抓取之中共享。另外,如下所述,移动爬行器和非移动爬行器可共享共同的前端,通过此前端,用户或应用与系统进行交互。
爬行器24可对取自规则集30中的每个这类代理的参数进行访问。例如,规则集30可以包含对第一代理30a进行定义的参数,其可以对诸如获取标准HTML格式信息的代理进行定义。规则集30还可以包含第二代理30b,其可以对诸如获取XHTML和WML格式信息的代理进行定义。最后,规则集30可以包括第n个代理30c,其可以对诸如获取iMode格式的信息的代理进行定义。也可对其它格式或格式组的其它代理进行定义并使其可用。
爬行器24还可包括格式选择器25,其控制爬行器24在抓取特定文档时呈现的角色。例如,通过查看对应于特定网站地图的存储器27之中的值,格式选择器25可选择一个特定的代理30a-30n。例如,当客户机14已将网站地图17识别为符合特定的格式时,该识别可以被存储在存储器27之中。接着,当爬行器24确定要抓取由网站地图17所代表的文档时(例如在用户已经首先提供了网站地图17的位置信息之后,或到网站地图17的预定更新时间时),爬行器24可访问取自存储器27的网站地图位置信息和格式识别,并且可以对允许爬行器24来呈现特定设备或设备类型的角色的代理30a-30n进行选择。接着,爬行器24可抓取与网站地图17关联的文档。
为了简明,将服务器系统12图示为仅包括有限数量的组件。然而,应当理解,如果需要向系统10的用户提供全范围的服务,系统可包括很多附加功能和组件。例如,服务器系统12可提供新闻、天气、门户、购物、地图、和其它服务。另外,服务器系统12的组件可适当地组合或分立。
图3是示出用于访问和分析系统中的信息的组织的动作的流程图。为了简明,将动作指示为在客户机、本地服务器、和远程服务器上发生。然而,动作或类似动作可由更少的计算机或以不同结构配置的计算机来执行。
在该方法中,首先对网站进行扫描(50)以确定与网站相关的文档的组织。存储网站的本地服务器可依次提供关于网站的信息(52)。例如,网站作者可对其希望在网络中变得可用(例如对因特网上的公众)的网站上的每个网页的URL进行确认。接着,作者可就网站的所有URL或其它文档识别符(无论这些URL是代表互相链接的文档还是没有链接的文档)制作一个列表。选择性地,例如可通过已被用于生成网站的文档管理系统来对网站进行自动地分析和扫描。
接着,通过生成网站地图(54)可记录文档的组织。网站地图可以是诸如具有预定格式的XML文档,并且可包括网站中的文档的URL的列表。另外,可将通用元数据添加到网站地图(56)。例如,如以下将详细描述的那样,在通用元数据中可对关于由网站地图引用的文档的格式的数据、应当访问文档的速度、对关于网站地图的信息进行更新的频率均加以规定。接着,可将网站地图与网站信息一起存储在诸如本地服务器上(58)。网站地图的元数据的生成也可人工或自动地进行。
一旦生成并存储了网站地图,远程服务器可对其进行识别(60),该远程服务器在接收到关于网站地图的这类通知之后(62),可访问网站地图。可人工进行通知,例如通过用户登录进由远程服务器或与远程服务器关联的服务器托管的网站(例如,当数据交换中心(clearinghouse)在一个中心点收集了网站地图信息,并接着将其与不同的搜索引擎进行共享,例如,在预定的更新点,这样所有的搜索引擎同时接收信息,或在错列的点上,这样搜索引擎不会用爬行器使得用户的网站超负荷)。
可以将各种信息作为通知的一部分进行递交。例如,可递交诸如网站地图的位置信息的最小信息,并且远程服务器可从网站地图或从相关文档获取附加信息。选择性地,可提供附加信息,例如网站上的文档的格式,以及其它可另外(或附加)位于网站地图中的元数据。选择性地,通知可包括整个网站地图的递交。
一旦远程服务器接收到必要的通知信息,为了可能需要对网站地图或用户的网站进行浏览和分析的任何附加信息,其可以检查网站地图或相关文档(66)。本地服务器可相应地对任何这类请求进行响应(64)。例如,当通知涉及最小信息时,远程服务器可能需要获取附加信息来实施其对网站的抓取。由于这类附加信息检索取决于当通知远程服务器时用户提供的是不完整的信息,所以这些步骤常常并非必须,这些步骤(64,66)的框用虚线示出。
远程服务器也可选择用于抓取网站的爬行器类型或爬行器角色(68)。例如,在用户已经识别网站是根据特定基于移动的格式进行格式化的情况下,远程服务器在抓取网站时,可以模仿查看这类移动内容的设备的表现。
当远程服务器有足够信息来定位网站地图时,其可以访问网站地图并开始使用在网站地图中的内容来抓取网站(70,72)。爬行器可使用选定的爬行器类型来抓取网站(74),当识别了特定的一种或多种格式后,本地服务器可依次提供内容(76),例如通过提供所有在网站地图中引用的文档。
例如,当网站地图被格式化为列表时,爬行器可遍历网站地图列表,并且可对列表中的第一个项目发出请求。爬行器可分析第一个项目的内容,将部分内容编入索引,并且识别在该第一个项目中的任何链接。接着,爬行器可对任何有链接到的项目发出请求,并且重复分析和链接过程直到其穷尽网站的分支。接着,爬行器可移动到网站地图列表的下一个条目。爬行器还会将其访问过的文档列表进行存储,使其不会对从多个位置链接到的文档进行重复访问。
图4是用于生成网站100的网站地图的过程的概念图。网站100包括:网站文件系统102、网站地图生成器控制参数104、网站地图生成器106、网站地图更新模块108、网站地图通知模块110、网站地图114、以及网站地图索引112。在某些实施方式中,可通过使用任意数量的文件系统(包括文件存储在多台计算机上的分布式文件系统)来实施文件系统102,在其它实施方式中,可通过使用数据库或产生响应于查询的文档的搜索引擎来实施文件系统102。
网站文件系统102将存储在网络服务器中的文档进行组织。存储在网站中的文档可以是任何适当的机器可读文件,其包括:文本、图形、视频、音频等、或这些项的任意组合。可存储在网站中的文档的实例包括:网页、图片、视频文件、音频文件、便携式文档格式(PDF)文件、纯文本文件、可执行文件、演示文件、电子表格、文字处理文档等。
可将存储在网站100中的文档以分级结构进行组织。也就是说,可将文档组织为嵌套目录、文件夹、或路径的树(此后称为“目录树”)。目录树包括根目录/文件夹/路径,并且根可以具有嵌套于其中的子目录/子文件夹/子路径。
子目录/子文件夹/子路径也可进一步具有嵌套于其中的子目录/子文件夹/子路径,于是形成目录树。每个文档可存储在目录树中的一个目录/文件夹/路径中。每个目录/文件夹/路径和每个文档可以是树中的一个节点。文件系统也可存储与文档关联的元数据,例如最后修改的日期、最后访问的日期、文档许可等等。在某些实施方式中,文件系统还可包括文档和相关联的元数据的数据库。可通过执行对数据库的查询以及(或代替)遍历目录树来访问数据库中的文档。
可通过定位器来对每个存储在网站中的文档进行识别和/或定位。在某些实施方式中,定位器是文档的URL。在另一些文档中,可使用识别(例如URL)或寻址的替代方式。可从文档在文件系统中的位置信息导出文档的URL。文档的URL可以是基于目录/文件夹/路径、或基于在数据库中的位置信息、或基于用来从存储文档的数据库中检索文档的查询。也就是说,可将在目录/文件夹/路径中的每一个文档或者数据库位置信息映射到一个URL。在某些实施方式中,可通过网站之外的计算机(例如与网络爬行器关联的远程计算机)使用URL来访问在文件系统中向外界访问开放的文档。为了解释上的方便,以下将文档定位器描述为URL。
网站地图生成器106生成网站地图并可选地生成网站的一个或多个网站地图索引。网络爬行器可使用网站地图来调度对存储在网络服务器上的文档的抓取。网站地图索引封装一个或多个网站地图,并且可包含诸如网站地图的列表,以下将对其细节进行进一步描述。
通过访问一个或多个文档信息源,网站地图生成器106生成网站地图。在某些实施方式中,文档信息源包括:文件系统102、访问日志、预制的URL列表、和内容管理系统。只是通过访问网站文件系统102并对与在文件系统102中找到的任何文档相关的信息进行收集,网站地图生成器106就可搜集文档信息。例如,可从对在文件系统或者在文件系统的指定部分中的所有文件进行识别的目录结构来获取文档信息。
网站地图生成器106还可通过访问网站的访问日志(未示出)来搜集文档信息。访问日志记录通过外部计算机对文档的访问。访问日志可包括:已访问文档的URL,访问文档的计算机的识别符、以及访问的日期和时间。网站地图生成器106还可通过访问预制的URL列表(未示出)来搜集文档信息。预制的URL列表列出网站管理员希望由网络爬行器来抓取的文档的URL。如下所述,网站管理员可使用与网站地图使用的格式相同的格式来制作URL列表。
如果通过内容管理系统来管理网站中的文档,那么网站地图生成器106可通过与内容管理系统进行交互并对存储在内容管理系统中的信息进行访问来搜集文档信息。
网站地图生成器控制参数104包括控制网站地图生成的预定义参数。以下参考图5描述关于网站地图生成器控制参数104的进一步信息。
网站地图生成器106生成网站地图114并可能生成一个或多个网站地图索引112。可使用任何合适的格式和语言来生成网站地图114和网站地图索引112。如上所述,在某些实施方式中,通过使用预定义的XML标签以可扩展标识语言(XML)格式生成网站地图。为了描述上的方便,以下将网站地图和网站地图索引描述为使用XML格式。
网站地图索引112是与一个或多个网站地图114关联的文档,用于帮助网站地图的组织和引用。当生成网站的网站地图时,网站地图生成器106可生成多个网站地图,其中每个网站地图列出可以抓取的文档的URL的子集,而不是列出可在一个网站地图中抓取的所有文档的URL。在这种情形下,网站地图生成器106还可生成网站地图索引112以列出多个网站地图及其URL。一个网站地图索引可包括对网站地图索引112的开始和结束进行定义的开始和结束标签(例如,诸如<sitemapindex>和</sitemapindex>的XML标签,未在图中示出)。网站地图索引112还可包括在网站地图索引中列出的每个网站地图的URL。
网站地图索引还可包括在网站地图索引中的各个网站地图URL的可选元数据。例如,元数据可包括各个网站地图的最后修改日期。每个网站地图URL和任何各个相关联的元数据可包含在对网站地图索引112中的网站地图记录114的开始和结束进行定义的开始和结束标签内。
除了网站地图列表之外,在某些实施方式中,网站地图索引可选择性地包含应用于整个网站的网站特定信息140(也称为“逐站信息”(per-site information))的列表。例如,网站地图索引可包含时间间隔以及爬行器应当抓取各个网站的速率的列表(例如
<crawl_rate from=08:00UTC to=17:00UTC>medium</crawl_rate>
<crawl_rate from=17:00UTC to=8:00UTC>fast</crawl_rate>)。
在其它实例中,网站地图索引包含识别与网站关联的地理位置的地理信息(例如,<location>latitude,longitude</location>),和/或其可包含对由各个网站支持或者不然就是与各个网站关联的一个或多个语言进行识别的语言信息(例如,<language>German</language>)。逐站信息也可包括网站的文档格式的一种或多种类型,例如XHTML、3g、PDAHTML、WML、或iMode/cHTML。
在某些实施方式中,逐站信息也可呈现在网站地图索引文件之中的网站地图引用中。如果网站地图索引和被引用的网站地图都包含相同属性(例如,抓取速率)的逐站信息,那么在网站地图中规定的值将取代在网站地图索引中规定的值,因为网站地图是更确定的信息实例。在其它实施方式中,可在网站地图索引或网站地图中使用与这里给出的实例不同的语法来规定逐站信息。
在一个实施方式中,网站的网站地图生成器106以固定的间隔(例如每天或每周)来生成新的网站地图。在第一个(开始点)网站地图之后,每个已生成的新网站地图可仅列出自前一个网站地图生成之后(即在生成最后的网站地图的日期之后具有创建日期或修改日期)新的或修改的URL。这里使用的术语“日期”允许包括日期和时间,并且可以由时间戳来代表,例如使用UTC(协调世界时间)的与ISO8601兼容的时间戳。在这些实施方式中,网站列表的网站地图索引列出所有为该网站生成的网站地图。
选择性地,网站地图生成器可用比生成更新网站地图的间隔更大的间隔(例如每周或每月)来生成新开始点网站地图。每次当新网站地图被生成并被添加到网站地图索引112时,可将通知发送给一个或多个搜索引擎或爬行器。
网站地图114是列出网络爬行器可抓取的网站中的文档的URL的一个或多个文档,或者不然就是指示网站或其它联网位置中文档的组织。网站地图114可包括URL列表,并且选择性地包括各个列出的URL的附加信息,例如元数据。网站地图114可包括对网站地图的开始和结束进行定义的开始和结束标签116。网站地图还可包括一个或多个URL记录118。开始标签120和结束标签130可对每个URL记录118的开始和结束进行定义。每个URL记录118可包括可被抓取的文档的URL122。
URL记录118还可包括与各个URL关联的可选元数据。可选元数据可包括一个或多个以下内容:URL121规定的文档的格式、URL规定的文档的最后修改日期124、URL规定的文档的变化频率126(也称为更新率)、文档标题127、文档作者129、以及URL规定的文档的优先级128。网站管理员可对格式121、变化频率126、和优先级128进行规定。
变化频率126是文档内容将要变化的频率的描述符。描述符是预定义的有效描述符集中的一个。在某些实施方式中,变化频率描述符集包括:“总是”、“每小时”、“每天”、“每周”、“每月”、“每年”和“从不”。变化频率126将关于文档变化的频率的提示提供给爬行器。爬行器可使用提示来相应地对文档的抓取进行调度。然而,爬行器可以用与已规定的变化频率不一致的方式来抓取文档。例如,爬行器可以用比抓取被标识为“每年”的文档更慢的频率来抓取标识为“每小时”的文档。实际的抓取文档频率可以是基于:文档的重要性(由得分所代表,例如页面排名)、爬行器观察到的文档中实际观察到的变化(或缺乏变化)和其它因素,以及网站地图中规定的变化频率。
优先级128是对由URL122所识别的文档的相对优先级进行规定的值。优先级128可以是与在相同网站地图114中列出的其它文档相关的、与存储在与该文档相同的网络服务器中的其它文档相关的、或者与网站中所有文档相关的优先级。在某些实施方式中,优先级的值的范围是0.0到1.0,其中0.5是默认值、0.0是最低相对优先级、并且1.0为最高相对优先级。在其它实施方式中,可使用其它优先级范围,例如0到10。爬行器可使用优先级来确定应当首先抓取网站中的哪些文档。当这些优先级值没有满足预定义的标准时(例如,要求网站的网站地图或网站地图集中的优先级值具有预定义的均值,例如0.5),爬行器可忽略或修改网站地图中的优先级值。在某些实施方式中,当将文档编入索引时,也可使用优先级。
在网站地图中也可包括其它参数。例如,附加元数据可包括每个URL中内容的类别,例如新闻、娱乐、医疗、教育、宣传等。并且,其它参数可指示URL是否仅对具有特定通信载体(例如移动内容)的用户可用。在内容提供者是可信的提供者,或者系统确信其将会提供准确信息(例如,通过资格登录过程所确定、或通过其它可信提供者推荐)的情形时,这类参数是尤其适用的。
网站地图生成器106还可与网站地图更新模块108和网站地图通知模块110进行交互。无论何时,当在网站上新的或已更新的网站地图可用时,网站地图通知模块110可将通知发送给与网络爬行器关联的远程计算机。通知可包括网站地图的URL,使得远程计算机可访问网站地图。如果网站使用网站地图索引,那么,在某些实施方式中,通知可仅包括网站地图索引的URL。接着,远程计算机可访问网站地图索引,并依此识别网站地图的URL。在另一些实施方式中,通知可包括:网站地图、实际的网站地图索引、或除了由网站地图或网站地图索引引用的文档的子集的格式识别符以外这些文档中的一个文档或所有这类文档,在这种情形下,远程计算机不需要访问网站中的网站地图索引或访问关于格式的信息。
网站地图更新模块108可基于先前生成的网站地图和当前网站地图之间的差异来生成差异网站地图。以下参考图8来描述关于差异网站地图的进一步信息。
图5是示出用于存储网站地图生成器控制参数的数据结构的框图。网站地图生成器控制参数104控制网站地图和网站地图索引的生成。网站的管理员可以对每个参数进行规定。参数可包括一个或多个以下内容:
一个或多个网站地图基础URL302,其对位置信息进行定义,与网络爬行器关联的远程计算机通过该位置信息可访问网站地图;
文件路径到URL的映射304,其将文件系统102中的目录/路径/文件夹或数据库位置信息映射到外部可访问URL(一个示例性路径到URL的映射是P:/A/B/*.*>www.website.com/qu/*.*);
URL排除模板306,其规定从包括在网站地图中排除出去的URL类别(例如www.website.com/wa/*.prl的排除模板可指示www.website.com中的“/wa”部分的所有“prl”文件都从网站地图中排除出去);
具有更新率的URL模板308,其规定URL的类别以及对各个URL类别的更新率(变化频率)(例如www.website.com/qu/a*.pdf>daily可指示满足规定模板的文件将会每天更新);
通知URL310,其规定与网络爬行器关联的远程计算机的URL,新网站地图通知可被发送给该网络爬行器;
指向URL列表的指针312,其指向预制的URL列表;
指向URL访问日志的指针314,其指向URL访问日志;
指向一个或多个目录的指针316,其指向文件系统102中的目录/文件夹/路径或数据库位置;以及
优选抓取时间318,其规定网络爬行器抓取网站的一天中的优选时间。
应当理解,列出的参数仅仅是示例性的,并且可将更少、附加和/或替代参数包括进来。
图6是示出用于生成网站地图的过程的流程图。如上所述,关于存储在网站上的文档的信息源是网站的访问日志。首先对网站的访问日志进行访问(602)。可通过跟随指向URL访问日志的指针来找到访问日志。接着可扫描访问日志以找到非错URL(604)。非错URL是对现存并可访问的文档进行正确规定的URL。所以,例如,将已经不在网站上的文档的URL认为是错误URL。接着,可生成URL的列表(606)。列表可包括在访问日志中找到的非错URL。
列表还可包括从访问日志中导出的文档受欢迎度的信息。文档受欢迎度的信息可基于每个非错URL具有的访问次数来确定。根据哪些文档是高需求的(即被更频繁的访问),文档受欢迎度的信息作为在抓取期间哪些文档要给予更高优先级的附加提示(例如,调度来首先被抓取,或比更低优先级文档更可能被抓取)。
在生成URL的列表之后,可过滤掉列表中的被排除URL(610)。可使用取自网站地图生成器控制参数的URL排除模板作为应用到URL列表的过滤器(608)。选择性地,可从其它地方获取URL排除模板,或永久性地编码写入网站的定制网站地图生成器。接着可从列表中去除与任何URL排除模板相匹配的在列表中的URL。
对在列表中的各个URL,可将更新率信息添加到URL列表(612)。在某些实施方式中,更新率可以从网站地图生成器控制参数104,或者尤其是从具有更新率的URL模板来获取(608)。
接着,可添加URL列表中的各个URL的最后修改日期和时间(614)。可从文件系统获取最后修改日期,如上所述,该文件系统可以是数据库和/或目录树616。
在替代实施方式中,通过使用从数据库616和/或网站地图生成器控制参数608获取的信息,网站地图策略对象615控制:过滤操作610、更新率信息添加操作612、和最后修改日期添加操作614。在某些实施方式中,网站地图策略对象通过执行对基础数据库616的数据库查询,来确定哪些URL(或URI)要过滤以及哪些属性要添加到特定的URL(或URI)中。
可从URL的结果列表,包括任何从所列出的URL获取或包括在其中的最后修改日期/时间信息、可选受欢迎度信息、以及可选更新率信息来生成网站地图(618)。在网站地图中,列在网站地图中的URL的元数据可包括:最后修改日期/时间信息、可选受欢迎度信息、和可选更新率。
图7是示出用于生成网站地图的另一个过程的流程图。图7的过程与图6相类似,不同之处是,在图7的过程中,文档信息的起始源是文件系统数据库或目录树(702),而不是访问日志。可首先执行对数据库的扫描或目录树的遍历(704)。从数据库的扫描或目录树的遍历,可获取URL和相关联的最后修改日期的列表(706)。可通过使用取自网站地图生成器控制参数的URL排除模板作为过滤器(712),来过滤掉列表中的被排除URL(708)。也可将诸如与在URL列表之中的各个URL关联的文档的更新率信息的附加元数据进行添加(710)。可以从网站地图生成器控制参数(712)来取得更新率信息。可从非排除URL列表、最后修改日期信息、和诸如更新率信息的附加信息来生成网站地图。
在替代实施方式中,通过使用从底层数据库702和/或网站地图生成器控制参数712获取的信息,网站地图策略对象715可控制过滤操作708和/或将元数据710添加到网站地图714中的URL或URI的列表。在某些实施方式中,网站地图策略对象715可通过执行对基础数据库702的数据库查询来确定过滤哪些URL(或URI),以及将哪些属性添加到特定的URL(或URI)中。
可调整在图6和7中示出的网站地图生成过程以使用文档信息的替代源和/或使用文档信息的多个源。例如,网站地图生成器可首先从一个或多个预制URL列表或从与网站关联的内容管理系统来提取URL。不论从其中提取URL的源为何,网站地图生成器可从如实际所需数量的文档信息源来收集文档的元数据。例如,网站地图生成器可从预制URL列表中提取URL,从文件系统中获取最后修改数据,并从访问日志中获取文档受欢迎度信息。可使用任何合适的文档信息源的组合来生成网站地图。
图8是示出用于生成差异网站地图的过程的流程图。差异网站地图是基于先前生成的网站地图和当前网站地图之间的差异来生成的网站地图。差异网站地图可包括:未包括在先前生成的网站地图中的URL,以及包括在先前生成的网站地图中但是具有新的或已更新的元数据的URL。例如,可将具有已更新的最后修改日期的URL包括在差异网站地图之中。出现URL的已更新的最后修改日期意味着:自从先前生成网站地图之后,在各个URL中的文档已经更新了。
可通过差异网站地图生成器,例如网站地图更新模块108(806)来对当前网站地图(802)和先前生成的网站地图(804)进行处理。可以确定在两个网站地图之间的差异,并可生成差异网站地图(808)。
图9是示出网络爬行器系统900的框图。网络爬行器系统900(其可以是搜索引擎的一部分和/或与搜索引擎关联)对与存储在网络服务器中的文档相对应的位置进行抓取。
网站地图爬行器905访问由网站或网络服务器生成的网站地图。网站地图爬行器905接收网站地图通知。从具有可用于抓取的文档的网络服务器或网站来接收网站地图通知930。来自网络服务器或网站的通知告知网站地图爬行器:列出可被抓取文档的URL的一个或多个网站地图可用于访问。通知可包括网站地图的URL,或两个或多个网站地图的URL。通知可包括网站地图索引的URL,或其可包括网站地图索引的内容。在某些实施方式中,通知可包括网站地图索引或整个网站地图。网站地图爬行器905可访问在网站地图索引URL中的网站地图索引,以了解网站地图的URL并接着访问网站地图。
网站地图爬行器905可访问取自网络服务器或网站的网站地图,并可将访问过的网站地图的复本存储在网站地图数据库932之中。网站地图数据库932将网站地图以及与网站地图关联的信息(例如与网站地图关联的网络服务器和/或网站、网站地图的最后修改日期、以及与网站地图关联的更新率信息)进行存储。
可将已访问的网站地图提供给网站地图处理模块934处理。网站地图处理模块934处理网站地图并识别URL和相关联的元数据936。网站地图可以是用于URL调度器902的URL和关联元数据信息的源。在某些实施方式中,用户可通过直接递交903来接收URL和相关联的元数据的可选、附加源。例如,用户可提供关于与一个或多个网站地图关联的文档格式的信息。
URL调度器902确定在每个抓取会话中将抓取哪些URL。URL调度器902可将该信息存储在一个或多个数据结构中(未示出),例如数据结构列表的集。在某些实施方式中,URL调度器902将URL分配到数据结构的分段中,其中分段对应于抓取会话。在这些实施方式中,URL调度器902还确定要抓取在每个分段中的哪些URL。在某些实施方式中,可能有多个URL调度器902,其在每个分段被抓取之前运行。每个调度器902连接到相应的URL管理器904,该管理器负责管理将URL分配到URL服务器906。选择性地,每个URL调度器902可连接到两个或多个的URL管理器,使得每个抓取会话的URL分布功能遍布在多个URL管理器中。可调整URL调度器902以接收从网站地图提取的URL和元数据936。
控制器901选择要抓取的分段。此后把选定的分段称为“活动分段”。典型地,在每个会话的开始,控制器901选择不同的分段作为活动分段,使得在多个会话的过程中,以轮叫(round-robin)方式选择所有分段用于抓取。控制器901还可选择由爬行器代表的用户代理,其与用于活动分段的格式关联。例如,用户代理可涉及使得爬行器来模仿iMode设备或其它移动设备或设备组的参数。
可通过URL页面排名器922来计算每个URL的独立于查询的得分(也称为文档得分)。页面排名器922计算每个给定的URL的页面重要性得分。在某些实施方式中,可通过不仅考虑引用给定URL的URL的数量,也考虑这些引用URL的页面重要性得分,来计算该页面重要性得分。可将页面重要性得分提供给URL管理器904,其可将每个URL的页面重要性得分传递给URL服务器906、机器人(robot)908、和内容处理器910。页面重要性得分的一个实例是页面排名,其是在Google搜索引擎中使用的页面重要性度量。一种页面排名计算的说明可在美国专利6,285,999中找到,以引用的方式将其整体作为背景信息包括在此。在某些实施方式中,可将取自网站地图的信息包括在页面重要性得分的计算中。一种可被包括在页面重要性得分之中的网站地图信息的实例是优先级128。
有时,URL服务器906可从URL管理器904请求URL。作为响应,URL管理器904可将从数据结构获取的URL提供给URL服务器906。接着,URL服务器906可将取自URL管理器904的URL分配给要进行抓取的爬行器908(此后称为“机器人”或“bot”(可能是robot的简写形式))。机器人908是对由URL服务器906提供的URL上的文档进行检索的服务器。机器人908使用各种已知的协议来下载与URL关联的页面(例如,HTTP、HTTPS、Gopher、FTP等)。在某些实施方式中,机器人908从逐站信息数据库940检索对特定网站的抓取速率和/或抓取间隔信息,并接着使用检索到的信息来控制机器人908从该网站获取URL或URI的速率。在适当的情况下,还可将文档的格式信息传递给机器人908,使得机器人908正确地模仿为其将文档进行格式化的一个或多个设备。
将从机器人908已抓取的URL中获取的页面转发给内容处理服务器910,其执行多个任务。在某些实施方式中,这些任务包括:将页面内容编入索引、生成页面中导出链接(outbound link)的记录、检测重复页面、并创建各种日志记录以记录关于已抓取页面的信息。在一个实施方式中,这些日志记录被存储在日志文件中,包括:链接日志914、状态日志912、和其它日志916。链接日志914包括机器人908从URL获取并传递给内容处理服务器910的每个文档的链接记录。每个链接日志914记录识别在与记录关联的文档中发现的所有链接(例如,URL,也称为导出链接)和链接周围的文本。内容处理服务器910可使用在链接日志914中的信息来创建链接映射920。
在链接映射920中的记录与链接日志914中的记录类似,不同之处是剥离了文本并用源URL的归一化值的“指纹”来验证(key)记录。在某些实施方式中,URL指纹是通过应用散列函数或其它到URL的单向函数来确定的64位整数。在其他实施方式中,URL指纹的位长度可以长于或短于64位。在每个链接映射920中的记录可选择性地通过指纹来排序或验证。页面排名器922使用链接映射920来计算或调整URL的页面重要性得分。在某些实施方式中,这类页面重要性得分在会话之间持续存在。
状态日志912将内容处理服务器910执行的文档处理的状态记入日志。状态日志可包括URL状态信息928(例如,在特定的URL上是否存在文档、最后修改日期信息、和更新率信息)。可将URL状态信息发送给URL调度器902。URL调度器可使用URL状态信息来为抓取调度文档。
在某些实施方式中,内容处理服务器910还可创建锚映射918。锚映射918将在超链接中的“锚文本”映射到超链接的目标URL的URL。在使用HTML标签来实施超链接的文档之中,锚文本是位于一对锚标签之间的文本。例如,在下列锚标签之中的锚文本是“Picture of MountEverest”:
<A href=″http://www.website.com/wa/me.jpg″>Picture of MountEvere st</A>。
在某些实施方式中,也可使用网站地图提供的文档元数据用于创建锚映射。例如,可将诸如文档标题、文档作者、或文档描述的文档元数据可用来创建锚映射。然而,应当理解在网站地图中出现的任何字段一般都可以包括在锚映射之中。
在某些实施方式中,在锚映射918中的记录可以由在链接日志914中呈现的导出URL的指纹来验证。于是,在锚映射918中的每个记录可包括导出URL的指纹和对应于链接日志914中的URL的锚文本。索引器924使用锚映射918来使对“锚文本”的索引更便利并且使把不包含文字的URL编入索引更便利。例如,考虑这种情况,在导出URL(例如上述实例中的URL)上的目标文档是珠穆朗玛山的图片并且在目标文档中没有文字。但是,在索引926中可包括与URL关联的锚文本“珠穆朗玛山的照片”,于是使得通过使用索引926的搜索引擎可以访问目标文档。
将锚映射918和其它日志916发送到索引器924。索引器924使用锚映射918和其它日志916来生成索引926。搜索引擎使用该索引来识别与搜索引擎的用户输入的查询相匹配的文档。
图10是示出网站地图爬行器系统1000的框图。网站地图爬行器系统1000典型地包括:一个或多个处理单元(CPU)1002,一个或多个网络或其它通信接口1004、存储器1010,和一个或多个用于将这些组件互连的通信总线或信号线1012。
网站地图爬行器系统1000可选择性地包括用户接口1005,其可包括:键盘、鼠标、和/或显示设备。存储器1010可包括:高速随机存取存储器,例如DRAM、SRAM、DDR RAM或其它随机存取固态存储设备;并可包括非易失性存储器,例如一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其它非易失性固态存储设备。存储器1010可包括一个或多个位于CPU1002远端的存储设备。在某些实施方式中,存储器1010存储下列程序、模块和数据结构,或这些的子集:
操作系统1014,其包括用于处理各种基本系统服务和用于执行依靠硬件的任务的进程;
网络通信模块1016,其用于将网站地图爬行器系统1000通过一个多个通信网络接口1004和一个或多个通信网络(例如因特网、其它广域网、局域网、城域网等)连接到其它计算机;
网站地图数据库932,其存储已访问的网站地图;
网站地图爬行器905,其对由网络服务器提供的网站地图进行访问;
网站地图处理模块934,其接收网站地图并对网站地图进行处理以识别URL和相关联的元数据;
URL列表1018,其列出可被抓取的文档的URL;以及
通知处理模块1020,其对从网络服务器接收的新的网站地图的通知进行处理。
每个上述已识别的元素可被存储在一个或多个先前提到的存储设备之中,并且可对应于执行上述功能的指令集。不需要以分立软件程序、进程或模块的形式来实施上述已识别的模块或程序(即指令集),因此这些模块的不同子集可以在不同的实施方式中进行组合或不然就是重新布置。在某些实施方式中,存储器1010可将以上已识别的模块的子集和数据结构进行存储。另外,存储器1010可存储上述未描述的附加模块和数据结构。
在一个或多个网站地图索引或网站地图包含逐站信息的实施方式中,将这种逐站信息进行提取并添加到逐站信息数据库940中(例如,通过网站地图爬行器905)。当适当的信息(例如,语言和/或位置信息)在逐站信息数据库940之中可用时,索引器924使用这些信息来将逐站信息(例如,语言和/位置信息)添加到索引926中。将网站地理和/或语言信息包括在索引926中,使得搜索引擎通过使用索引926可执行包括地理和/或语言限制的搜索。
例如,当搜索引擎的索引包括关于至少某些网站的地理信息时,搜索引擎可将诸如“英国伦敦伦敦桥1英里以内的披萨”提供给请求。当搜索引擎的索引包括关于至少某些网站的语言信息时,搜索引擎可将诸如“包含‘乔治布什’的德国URL”提供给请求。在逐站信息包括抓取速率信息和/或抓取时间间隔的实施方式之中,URL调度器902和/或机器人908使用该信息来控制抓取网页的时间和速率。
图11是示出基于包括在网站地图中的信息来调度文档下载的过程的流程图。在某些实施方式中,对文档的下载进行调度意味着生成识别已调度的文档的文档识别符列表。文档识别符列表可以是已排序的列表,在列表中较先的文档识别符具有比在列表中较低的文档识别符更高的优先级或重要性。
在某些实施方式中,网站地图爬行器可在接收到当前版本的地图是可用的通知后,对网站地图进行访问。接收网站地图通知并将其记入日志(1102)。接着可选择下一个待定网站地图通知(1104)。接着,可从网络服务器下载与选定的网站地图通知关联的网站地图(1106)。
在另一些实施方式中,除了或代替等待网站地图的通知,网站地图爬行器可周期性地选择网站地图用于处理,并不等待通知就访问网站地图。还可访问网站地图数据库(1108)。接着,可选择取自数据库的网站地图用于处理(1110)。可基于存储在数据库中的信息(例如最后修改日期信息或更新率信息)来做出选择。例如,当网站地图的“年龄”(例如,当前日期减去网站地图的日期,或者当前日期减去在网站地图中的最后修改日期的日期)比在网站地图中列出的任何文档的最短预计更新周期都要老时,可选择该网站地图用于下载。通过从网络服务器下载或通过访问在网站地图数据库中存储的该网站地图的复本,可访问选定的网站地图(1112)。
接着,如果从下载接收到新的网站地图信息,那么可用新的网站地图信息来对网站地图数据库进行更新(1114)。在一个或多个网站地图索引或网站地图包含逐站信息的实施方式中,用接收到的逐站信息来更新逐站信息数据库。
对在网站地图中的每个URL,可做出关于该URL是否是抓取候选的确定(1116)。可基于该URL状态信息来做出确定,例如该URL上的文档是否已经或可能已经被更新了,或者该URL是否正确地规定了可访问文档(1124)。可将确定为抓取候选的URL识别为候选URL(1126),并且可对每个候选URL分配一个得分(1118)。每个候选URL的得分可基于该URL的页面重要性得分(例如,页面排名)和该URL的优先级值(从网站地图提取)。在评分之后,可将候选URL(1128)进行过滤(英文中似乎少了be动词)。
基于一个或多个预定义的标准,例如预算、网站约束(例如,在抓取的时间周期期间允许爬行器下载的文档的数量的限制)等,过滤器可选择候选URL的子集。接着,可使用候选URL的结果列表来调度URL的下载(1122)。如上所述,调度URL下载可包括生成URL或文档识别符的已排序列表,其中在列表中较先的文档识别符代表文档比放置在已排序列表中较后的文档具有更高的优先级或重要性。另外,如上所述,在某些实施方式中,调度作业1122可将从网站地图索引或网站地图中接收的逐站信息考虑进来,例如对特定网站的抓取间隔和/或抓取速率信息。
在某些实施方式中,调度器可调度用于抓取的文档比爬行器实际上可抓取的更多。在某些实施方式中,爬行器可以有网站或网络服务的抓取预算。预算是对特定网站或网络服务器,在特定抓取会话中,爬行器可抓取的最大数量的文档。换言之,预算可以是自我施加的限制,由网络爬行器施加的对特定网络服务器或网站的抓取文档的数量限制。预算限制了爬行器将对特定网站或网络服务器执行的抓取,确保了该爬行器可在达到其抓取限制之前来抓取其它网站或网络服务器。
在某些实施方式中,网站/网络服务器管理员可设定站点约束以约束对特定网站或网络服务器的抓取。站点约束的目的是限制对特定网站或网络服务器的抓取,以防止与该网站或网络服务器关联的网络资源被爬行器耗尽。网站约束可包括在限定的时间周期(例如,每小时或每天)内,特定网站可抓取的文档的最大数量(由网站管理员进行定义)。另外,约束可包括在该网站或网络服务器上的文档的格式,例如移动文档的特定格式。
对候选URL的过滤可导致已排序和已过滤的候选URL列表(1130)和未选定候选URL列表1132的生成。可将已排序和已过滤候选URL的列表发送给调度器,其中调度器可对该列表中的URL的抓取进行调度。可将未选定URL的列表1132发送给第二网络爬行器1134,其可包括第二调度器1136。接着,第二调度器1136可将列表1132中的URL进行调度用于由第二网络爬行器1134来抓取。
URL调度器可根据从网站地图获取的文档元数据来对列表中的URL的抓取进行调度。如上所述,元数据可包括:文档最后修改日期信息、文档更新率信息、文档优先级信息、和文档受欢迎度信息。
调度器可基于取自网站地图的最后修改日期信息来对URL的抓取进行调度。如果文档自从网络爬行器下载文档的最后日期/时间之后没有被修改过,那么调度器可延迟调度对应于URL的文档的抓取。换言之,如果文档的最后修改日期不晚于网络爬行器最后下载文档的日期/时间,那么调度器可延迟调度文档的抓取。这类延迟通过避免重复下载没有变化的文档来帮助节约网络资源。
调度器还可基于取自网站地图的更新率信息来对文档的抓取进行调度。如果在文档被下载时的更新率和最后日期/时间的预定义函数满足预定义的标准,那么调度器可对文档的抓取进行调度。在某些实施方式中,如果在文档被下载时的最后日期/时间和当前时间之间的差大于更新率信息指示的更新率的话,那么可调度文档用于下载。例如,如果文档的更新率是“每周”并且文档被下载的最后时间是两周以前,那么调度器可调度文档用于下载。这通过避免下载自最后下载之后认为是未变化的文档来帮助节约网络资源。
调度器还可基于候选URL的相对优先级来调整候选URL的得分。调度器确定对应于相对优先级的增加因素,并将其应用于评分。在某些实施方式中,调度器可基于文档的受欢迎度信息来确定增加因素,文档的受欢迎度信息是文档优先级的附加指示。
在某些实施方式中,可用选定或未选定候选URL包含的得分来确定哪些URL是必须抓取的URL。也就是,该得分可帮助确定文档是否肯定要被抓取。可将得分高的URL指定为必须抓取。这确保了重要的页面被调度用于抓取。
图12是示出用于将网站地图添加到搜索系统的显示的示例性屏幕截图。该显示示出用户将其已经创建的网站地图的识别URL进行输入的指令。另外,提供了接收URL的空白输入框,并提供了提交按钮。该显示还提供多个超链接,如果选定这些链接,将把用于为网站地图选择和识别URL的附加指令提供给用户。
如果用户希望提供与通过使用移动设备来查看的网站关联的网站地图的信息,图12的示例性显示还为用户提供了额外选项。尽管这里是示出为人工网页操作,关于网站地图的信息的提交也可以为自动,使得应用可以通过编程来将网站地图信息提交给远程服务器,并且用户仅需要选择一个命令或不然就是做出应当将网站地图提交给远程服务器的指示。
图13是示出用于将移动网站地图添加到搜索系统的显示的示例性屏幕截图。例如,当用户已选择来将移动网站地图提供在图12中的显示上时,可示出本显示。同样,提供给用户机会来输入网站地图的URL。另外,在该屏幕上,用户可以对与该网站地图关联的网站上文档的一种或多种格式进行规定(例如通过无线按钮选择)。例如,WML和XHTML是对用在诸如移动电话的特定移动通信设备上查看而创作的内容的格式进行定义的标准。选择性地,特定PDA具有比大多数电话都大的屏幕,于是作者可以为这类屏幕调整他们的内容。另外,HTML的派生(被称为cHTML、或iMode)由电信公司NTT DoCoMo开发用于移动设备。于是,作者可为一个或多个这些格式进行编写或格式化,并且可给作者提供机会以适当的格式将网站地图与文档关联,使得服务器来选择准确读取这些文档的爬行器。
图14是示出对用户已识别的网站地图进行查看和管理的显示的示例性屏幕截图。该显示可允许繁忙的网络管理员来追踪提交不同网站地图的进展。通常说来,该显示示出:已经被递交的所有网站地图的列表(通过位置信息和名称)、与网站地图关联的文档的类型(移动或万维网)、自从用户首先识别网站地图和自从远程服务器最后下载网站地图的时间、以及网站地图的状态。例如,当读取网站地图发生错误的情况下,例如如果网站地图没有遵循预定的格式,那么可将网站地图的状态列为“解析错误”。选择性地,或另外,可通过消息(例如电子邮件或即时消息)来对用户指出错误,使得用户可以立即知道是否存在问题。
图15是示出网站服务器1500的框图。网站服务器1500(或“网络服务器”)典型地包括:一个或多个处理单元(CPU)1502,一个或多个网络或其它通信接口1504、存储器1510、和一个或多个用于将这些组件互连的通信总线或信号线1512。网站服务器1500可选择性地包括用户接口1505,其可包括:显示设备、鼠标、和/或键盘。存储器1510包括:高速随机存取存储器,例如DRAM、SRAM、DDR RAM或其它随机存取固态存储设备;并可包括非易失性存储器,例如一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其它非易失性固态存储设备。
存储器1510可选择性地包括一个或多个位于CPU202远端的存储设备(例如,网络附属存储器)。在某些实施方式中,存储器210存储下列程序、模块和数据结构,或这些的子集:
操作系统1514,其包括用于处理各种基本系统服务和用于执行依靠硬件的任务的进程;
网络通信模块1516,其用于将网站服务器1500通过一个多个通信网络接口1504和一个或多个通信网络(例如,因特网、其它广域网、局域网、城域网等)连接到其它计算机;
网站地图生成模块106,其生成网站地图;
网站地图控制参数104,其控制或引导网站地图的生成;
网站地图索引112,其列出存储在网站服务器200上的网站地图的URL;
一个或多个网站地图114,其列出可被抓取的文档的URL;以及
网站文件系统102,其将文档进行存储并组织。
每个以上已识别的元素可以被存储在一个或多个先前提到的存储设备之中,并且对应于用于执行上述功能的指令集。不需要以独立软件程序、进程或模块的形式来实施上述已识别的模块或程序(即指令集),并且于是这些模块的不同子集可以在各种实施方式中进行组合或不然就是重新布置。在某些实施方式中,存储器1510可将以上已识别的模块的子集和数据结构进行存储。另外,存储器1510可将以上未描述的附加模块和数据结构进行存储。
在实践中,如本领域的普通技术人员所认识的那样,在以上图中分别示出的项目可以被组合并且某些项目可以被分割。例如,可以在单个服务器上实施图中分别示出的某些项目,并且可通过一个或多个服务器来实施单个项目。如本领域的普通技术人员所认识的那样,可在单个服务器上实施网站,例如网络服务器,或在多个服务器上实施诸如多个网络服务器。用来实施网站服务器或爬行器系统或其它系统的服务器的实际数量,以及在它们之间如何分配特征,会随着不同的实施方式变化,并且可部分取决于系统在峰值使用周期期间和均值使用周期期间必须处理的数据通信量。为了说明上的简便,以下将网站描述为它们好像在单个网络服务器上实施一样。
已经描述了本发明的多个实施方式。但是,应当理解,在不偏离本发明的精神和范围的情况下,可做出各种修改。例如,上面讨论额步骤可以用不同于示出的顺序来执行,并且可移去或添加特定步骤。相应地,其它实施方式在下列权利要求的范围之内。

Claims (23)

1.一种对文档进行分析和索引的方法,包括:
接收包含关于在网站处的一个或多个网络可访问文档的信息的可用元数据文档的通知;
获取与所述元数据文档相关联的文档格式指示符;
使用所述文档格式指示符来选择用于文档爬行器的浏览器的特定角色;并且
使用具有所述特定角色的所述已选定的文档爬行器来抓取至少部分所述网络可访问文档。
2.如权利要求1所述的方法,其中所述一个或多个网络可访问文档包括在共同域内的多个网页。
3.如权利要求1所述的方法,其中所述元数据文档包括文档识别符的列表。
4.如权利要求3所述的方法,其中所述一个或多个网络可访问文档包括在共同域内的多个网页。
5.如权利要求1所述的方法,其中所述文档格式指示符指示一个或多个移动内容格式。
6.如权利要求5所述的方法,其中从由XHTML、WML、iMode和HTML所组成的组中选择所述移动内容格式。
7.如权利要求1所述的方法,还包括将通过抓取至少部分所述网络可访问文档所检索到的信息添加到索引。
8.如权利要求7所述的方法,还包括:从移动设备接收搜索请求,并使用在所述索引中的信息将搜索结果发送到所述移动设备。
9.如权利要求1所述的方法,其中所述可用元数据文档包括引用多个文档列表的索引。
10.如权利要求1所述的方法,还包括:接收所述一个或多个网络可访问文档的文档类型的指示,并使用所述文档类型的指示来将所述文档进行分类。
11.如权利要求10所述的方法,还包括:验证所述文档类型指示的提供者的身份以确保所述提供者是可信的。
12.如权利要求10所述的方法,其中从由新闻、娱乐、商业、体育、旅游、游戏和金融所组成的组来选择所述文档类型。
13.如权利要求1-12中的任一项所述的方法,其中抓取所述网络可访问文档包括:在对所述网络可访问文档的请求中包括用于特定设备或设备种类的用户代理指示符。
14.如权利要求1-12中的任一项所述的方法,进一步包括将有关所抓取的网络可访问文档的信息放置在与相关格式有关的特定索引中。
15.如权利要求14所述的方法,进一步包括:
确定用户使用的设备类型以提交搜索请求;以及
仅在可以被显示在所述设备类型上的内容的索引中进行搜索。
16.一种列出在网站中可获得的网络可访问文档的方法,包括:
生成代表在所述网站中的相关的网络可访问文档的组织的更新后的站点映射文档;
将所述更新后的站点映射文档与所述网站一起存储,使得所述更新后的站点映射文档可用于访问;以及
将包括所述更新后的站点映射文档可用于访问的指示和所述网络可访问文档的格式的指示的通知发送到远程计算机,其中所述网络可访问文档的所述格式的所述指示指出影响对所述文档进行解释的能力的一个或多个移动文档格式。
17.如权利要求16所述的方法,其中所述更新后的站点映射文档包括文档识别符的列表。
18.如权利要求16所述的方法,其中所述通知包括所述更新后的站点映射文档的位置的指示。
19.如权利要求16所述的方法,其中当用户填写基于网页的表格时,发送所述通知。
20.一种用于抓取网络可访问文档的系统,包括:
存储器,将关于在一个或多个网站上的网络可访问文档的组织信息以及在所述一个或多个网站处的所述网络可访问文档的格式信息进行存储;
爬行器,被配置为使用所述组织信息以及与由所述格式信息所指示的格式兼容的角色以访问所述网络可访问文档;以及
格式选择器,与所述爬行器相关联,使得所述爬行器呈现与由所述格式信息所指示的格式相兼容的所述角色。
21.如权利要求20所述的系统,其中所述组织信息包括URL的列表。
22.如权利要求20所述的系统,还包括将使得所述爬行器呈现选定角色的参数进行存储的代理库。
23.一种用于抓取网络可访问文档的系统,包括:
存储器,将关于在一个或多个网站上的网络可访问文档的组织信息以及在所述一个或多个网站处的所述网络可访问文档的格式信息进行存储;
爬行器,被配置为使用所述组织信息以及与由所述格式信息所指示的格式兼容的角色以访问所述网络可访问文档;以及
装置,用于选择在访问所述网络可访问文档中呈现的所述爬行器角色。
CN2006800403580A 2005-08-29 2006-08-23 移动站点地图 Active CN101971172B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US21470805A 2005-08-29 2005-08-29
US11/415,947 2006-05-01
US11/415,947 US7653617B2 (en) 2005-08-29 2006-05-01 Mobile sitemaps
PCT/US2006/032700 WO2007027469A2 (en) 2005-08-29 2006-08-23 Mobile sitemaps

Publications (2)

Publication Number Publication Date
CN101971172A CN101971172A (zh) 2011-02-09
CN101971172B true CN101971172B (zh) 2012-09-19

Family

ID=37805565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800403580A Active CN101971172B (zh) 2005-08-29 2006-08-23 移动站点地图

Country Status (6)

Country Link
US (3) US7653617B2 (zh)
JP (2) JP5015935B2 (zh)
KR (1) KR101298888B1 (zh)
CN (1) CN101971172B (zh)
BR (1) BRPI0616595A2 (zh)
CA (1) CA2621031A1 (zh)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584208B2 (en) 2002-11-20 2009-09-01 Radar Networks, Inc. Methods and systems for managing offers and requests in a network
US7640267B2 (en) 2002-11-20 2009-12-29 Radar Networks, Inc. Methods and systems for managing entities in a computing device using semantic objects
US7433876B2 (en) 2004-02-23 2008-10-07 Radar Networks, Inc. Semantic web portal and platform
US7606793B2 (en) * 2004-09-27 2009-10-20 Microsoft Corporation System and method for scoping searches using index keys
US7644107B2 (en) * 2004-09-30 2010-01-05 Microsoft Corporation System and method for batched indexing of network documents
US7584194B2 (en) * 2004-11-22 2009-09-01 Truveo, Inc. Method and apparatus for an application crawler
CA2588219C (en) 2004-11-22 2014-05-20 Truveo, Inc. Method and apparatus for an application crawler
US7769742B1 (en) 2005-05-31 2010-08-03 Google Inc. Web crawler scheduler that utilizes sitemaps from websites
US20070124506A1 (en) * 2005-10-27 2007-05-31 Brown Douglas S Systems, methods, and media for dynamically generating a portal site map
US7676465B2 (en) * 2006-07-05 2010-03-09 Yahoo! Inc. Techniques for clustering structurally similar web pages based on page features
US7941420B2 (en) * 2007-08-14 2011-05-10 Yahoo! Inc. Method for organizing structurally similar web pages from a web site
US7680858B2 (en) * 2006-07-05 2010-03-16 Yahoo! Inc. Techniques for clustering structurally similar web pages
US8533226B1 (en) 2006-08-04 2013-09-10 Google Inc. System and method for verifying and revoking ownership rights with respect to a website in a website indexing system
US8924838B2 (en) * 2006-08-09 2014-12-30 Vcvc Iii Llc. Harvesting data from page
US7599920B1 (en) * 2006-10-12 2009-10-06 Google Inc. System and method for enabling website owners to manage crawl rate in a website indexing system
KR100844492B1 (ko) * 2006-11-06 2008-07-07 삼성전자주식회사 이동통신 단말기의 인터넷 접속 방법 및 장치
US10120936B2 (en) * 2006-12-19 2018-11-06 Excalibur Ip, Llc Providing system configuration information to a search engine
WO2008074482A2 (en) * 2006-12-19 2008-06-26 Koninklijke Kpn N.V. Data network service based on profiling ip-addresses
KR100996037B1 (ko) * 2006-12-21 2010-11-22 삼성전자주식회사 무선 인터넷 접속이 가능한 이동 통신 단말기에서 하이퍼링크 정보를 제공하기 위한 장치 및 방법
WO2008092039A1 (en) * 2007-01-24 2008-07-31 Google Inc. Blending mobile search results
US20080222273A1 (en) * 2007-03-07 2008-09-11 Microsoft Corporation Adaptive rendering of web pages on mobile devices using imaging technology
US8086948B2 (en) * 2007-04-19 2011-12-27 International Business Machines Corporation Framework for the dynamic generation of a search engine sitemap XML file
US20090063538A1 (en) * 2007-08-30 2009-03-05 Krishna Prasad Chitrapura Method for normalizing dynamic urls of web pages through hierarchical organization of urls from a web site
US8572102B2 (en) * 2007-08-31 2013-10-29 Disney Enterprises, Inc. Method and system for making dynamic graphical web content searchable
US20090076887A1 (en) 2007-09-16 2009-03-19 Nova Spivack System And Method Of Collecting Market-Related Data Via A Web-Based Networking Environment
US20090083266A1 (en) * 2007-09-20 2009-03-26 Krishna Leela Poola Techniques for tokenizing urls
US20090089278A1 (en) * 2007-09-27 2009-04-02 Krishna Leela Poola Techniques for keyword extraction from urls using statistical analysis
US9071623B2 (en) * 2007-09-28 2015-06-30 Xcerion Aktiebolag Real-time data sharing
US20090100031A1 (en) * 2007-10-12 2009-04-16 Tele Atlas North America, Inc. Method and System for Detecting Changes in Geographic Information
US20090106307A1 (en) * 2007-10-18 2009-04-23 Nova Spivack System of a knowledge management and networking environment and method for providing advanced functions therefor
US9348912B2 (en) * 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
US20090106221A1 (en) * 2007-10-18 2009-04-23 Microsoft Corporation Ranking and Providing Search Results Based In Part On A Number Of Click-Through Features
WO2009059481A1 (en) * 2007-11-08 2009-05-14 Shanghai Hewlett-Packard Co., Ltd Navigational ranking for focused crawling
US20090125529A1 (en) * 2007-11-12 2009-05-14 Vydiswaran V G Vinod Extracting information based on document structure and characteristics of attributes
US7996349B2 (en) * 2007-12-05 2011-08-09 Yahoo! Inc. Methods and apparatus for computing graph similarity via sequence similarity
US8126869B2 (en) * 2008-02-08 2012-02-28 Microsoft Corporation Automated client sitemap generation
US20090204889A1 (en) * 2008-02-13 2009-08-13 Mehta Rupesh R Adaptive sampling of web pages for extraction
US7865497B1 (en) 2008-02-21 2011-01-04 Google Inc. Sitemap generation where last modified time is not available to a network crawler
US7984379B2 (en) * 2008-04-04 2011-07-19 Microsoft Corporation Standard schema and user interface for website maps
US8812493B2 (en) * 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
US20100004975A1 (en) * 2008-07-03 2010-01-07 Scott White System and method for leveraging proximity data in a web-based socially-enabled knowledge networking environment
CA2734988A1 (en) * 2008-08-21 2010-02-25 Mango Moon Trading 1138 Cc Indexing system
JP5108707B2 (ja) * 2008-09-30 2012-12-26 ヤフー株式会社 検索サーバ装置、検索方法及びプログラム
KR101018787B1 (ko) * 2008-10-17 2011-03-03 한국과학기술원 인터넷 정보 검색 시스템
US20100169311A1 (en) * 2008-12-30 2010-07-01 Ashwin Tengli Approaches for the unsupervised creation of structural templates for electronic documents
US20100223214A1 (en) * 2009-02-27 2010-09-02 Kirpal Alok S Automatic extraction using machine learning based robust structural extractors
US20100228738A1 (en) * 2009-03-04 2010-09-09 Mehta Rupesh R Adaptive document sampling for information extraction
WO2010120929A2 (en) * 2009-04-15 2010-10-21 Evri Inc. Generating user-customized search results and building a semantics-enhanced search engine
WO2010120934A2 (en) * 2009-04-15 2010-10-21 Evri Inc. Search enhanced semantic advertising
US8200617B2 (en) 2009-04-15 2012-06-12 Evri, Inc. Automatic mapping of a location identifier pattern of an object to a semantic type using object metadata
WO2010120925A2 (en) * 2009-04-15 2010-10-21 Evri Inc. Search and search optimization using a pattern of a location identifier
US10303722B2 (en) 2009-05-05 2019-05-28 Oracle America, Inc. System and method for content selection for web page indexing
US20100287152A1 (en) 2009-05-05 2010-11-11 Paul A. Lipari System, method and computer readable medium for web crawling
US10198414B2 (en) * 2009-09-10 2019-02-05 Usablenet Inc. Methods for optimizing interaction with a form in a website page and systems thereof
US8738635B2 (en) 2010-06-01 2014-05-27 Microsoft Corporation Detection of junk in search result ranking
US8731939B1 (en) 2010-08-06 2014-05-20 Google Inc. Routing queries based on carrier phrase registration
US9043306B2 (en) 2010-08-23 2015-05-26 Microsoft Technology Licensing, Llc Content signature notification
MY176053A (en) * 2010-12-28 2020-07-23 Mimos Berhad A semantic web constructor system and a method thereof
US8868541B2 (en) * 2011-01-21 2014-10-21 Google Inc. Scheduling resource crawls
US8612419B2 (en) * 2011-01-31 2013-12-17 International Business Machines Corporation Intelligent content discovery for content consumers
US8676804B1 (en) 2011-07-12 2014-03-18 Google Inc. Managing information about entities using observations generated from user modified values
US8706732B1 (en) 2011-07-12 2014-04-22 Google Inc. Managing information about entities using clusters of received observations
US8793254B2 (en) * 2011-08-18 2014-07-29 Nicholas H. Evancich Methods and apparatus for classifying content
US10572959B2 (en) 2011-08-18 2020-02-25 Audax Health Solutions, Llc Systems and methods for a health-related survey using pictogram answers
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results
EP2650802B1 (en) * 2012-04-12 2018-10-24 Dassault Systèmes Building of a web corpus with the help of a reference web crawl
US9582588B2 (en) * 2012-06-07 2017-02-28 Google Inc. Methods and systems for providing custom crawl-time metadata
US8972375B2 (en) * 2012-06-07 2015-03-03 Google Inc. Adapting content repositories for crawling and serving
US20140053065A1 (en) * 2012-08-16 2014-02-20 Motorola Mobility Llc System and method for adjusting website displays
DE102013017085A1 (de) * 2012-10-15 2014-04-17 Wixpress Ltd. System für eine tiefe Verknüpfung und Suchmaschinenunterstützung für Webseiten, in die eine Drittanwendung und Komponenten integriert sind
CN103780741B (zh) * 2012-10-18 2018-03-13 腾讯科技(深圳)有限公司 提示网速的方法和移动设备
US20150205767A1 (en) * 2012-11-12 2015-07-23 Google Inc. Link appearance formatting based on target content
KR101518488B1 (ko) * 2013-05-20 2015-05-07 주식회사 애드오피 온라인 콘텐츠 가치 향상 방법 및 시스템
CN103324695B (zh) * 2013-06-05 2016-06-08 百度在线网络技术(北京)有限公司 一种wap网页索引库的建立方法与装置
CN103399908B (zh) * 2013-07-30 2017-02-08 北京北纬通信科技股份有限公司 业务数据抓取方法和系统
EP3061272B1 (en) * 2013-10-21 2019-09-25 Convida Wireless, LLC Crawling of m2m devices
US9910925B2 (en) * 2013-11-15 2018-03-06 International Business Machines Corporation Managing searches for information associated with a message
US9614869B2 (en) * 2013-11-23 2017-04-04 Universidade da Coruña—OTRI System and server for detecting web page changes
JP2015172808A (ja) * 2014-03-11 2015-10-01 日本電気株式会社 検索装置、検索方法およびプログラム
CN105446981B (zh) * 2014-06-30 2019-03-29 阿里巴巴集团控股有限公司 站点地图生成方法、访问方法及装置
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
JP6592237B2 (ja) * 2014-10-10 2019-10-16 Jcc株式会社 情報取得サーバー、情報取得方法、及び情報取得配信システム
KR101628511B1 (ko) * 2014-11-03 2016-06-09 주식회사 애드오피 검색 엔진 최적화 방법 및 그를 이용한 서버 장치
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) * 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10382476B1 (en) * 2015-03-27 2019-08-13 EMC IP Holding Company LLC Network security system incorporating assessment of alternative mobile application market sites
WO2017066208A1 (en) * 2015-10-12 2017-04-20 Ehrlich Wesen & Dauer, Llc Network resource crawler with multiple user-agents
US10255283B1 (en) * 2016-09-19 2019-04-09 Amazon Technologies, Inc. Document content analysis based on topic modeling
US10558657B1 (en) 2016-09-19 2020-02-11 Amazon Technologies, Inc. Document content analysis based on topic modeling
US10521408B1 (en) * 2016-09-30 2019-12-31 Open Text Corporation Method and system for optimization of faceted search
US10455520B2 (en) * 2017-03-30 2019-10-22 At&T Intellectual Property I, L.P. Altitude based device management in a wireless communications system
US10509921B2 (en) * 2017-05-31 2019-12-17 Intuit Inc. System for managing transactional data
CN108427739B (zh) * 2018-03-01 2022-04-22 上海哔哩哔哩科技有限公司 页面跳转方法、服务器及页面跳转系统
CN110309389A (zh) * 2018-03-14 2019-10-08 北京嘀嘀无限科技发展有限公司 云计算系统
US11100555B1 (en) * 2018-05-04 2021-08-24 Coupa Software Incorporated Anticipatory and responsive federated database search
CN113204579B (zh) * 2021-04-29 2024-06-07 北京金山数字娱乐科技有限公司 内容关联方法、系统、装置、电子设备及存储介质
WO2023280593A1 (en) * 2021-07-08 2023-01-12 metacluster lt, UAB Web scraping through use of proxies, and applications thereof
CA3214799A1 (en) * 2021-07-08 2023-01-12 Eivydas Vilcinskas Web scraping through use of proxies, and applications thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020025686A (ko) * 2000-09-29 2002-04-04 포만 제프리 엘 미디어-온-디맨드 시스템과 미디어-온-디맨드 시스템내의미디어에 구성가능 액세스를 제공하는 방법과 머신판독가능 저장 장치
US20040260680A1 (en) * 2003-06-19 2004-12-23 International Business Machines Corporation Personalized indexing and searching for information in a distributed data processing system
US20050234895A1 (en) * 2004-04-14 2005-10-20 Nancy Kramer System and method for a modular user controlled search engine

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5855020A (en) * 1996-02-21 1998-12-29 Infoseek Corporation Web scan process
US6038610A (en) * 1996-07-17 2000-03-14 Microsoft Corporation Storage of sitemaps at server sites for holding information regarding content
US5958008A (en) 1996-10-15 1999-09-28 Mercury Interactive Corporation Software system and associated methods for scanning and mapping dynamically-generated web documents
US5935210A (en) * 1996-11-27 1999-08-10 Microsoft Corporation Mapping the structure of a collection of computer resources
US6285999B1 (en) * 1997-01-10 2001-09-04 The Board Of Trustees Of The Leland Stanford Junior University Method for node ranking in a linked database
US5958009A (en) * 1997-02-27 1999-09-28 Hewlett-Packard Company System and method for efficiently monitoring quality of service in a distributed processing environment
US6351467B1 (en) * 1997-10-27 2002-02-26 Hughes Electronics Corporation System and method for multicasting multimedia content
EP1062602B8 (en) * 1998-02-13 2018-06-13 Oath Inc. Search engine using sales and revenue to weight search results
US6424966B1 (en) * 1998-06-30 2002-07-23 Microsoft Corporation Synchronizing crawler with notification source
US6271840B1 (en) * 1998-09-24 2001-08-07 James Lee Finseth Graphical search engine visual index
US6360215B1 (en) * 1998-11-03 2002-03-19 Inktomi Corporation Method and apparatus for retrieving documents based on information other than document content
US6418433B1 (en) * 1999-01-28 2002-07-09 International Business Machines Corporation System and method for focussed web crawling
JP4095739B2 (ja) * 1999-04-16 2008-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブサイト閲覧方法、ウェブサイト閲覧システム、コンピュータ、および記憶媒体
JP2001014210A (ja) * 1999-06-25 2001-01-19 Just Syst Corp 情報収集システム
US6754873B1 (en) * 1999-09-20 2004-06-22 Google Inc. Techniques for finding related hyperlinked documents using link-based analysis
US6976053B1 (en) * 1999-10-14 2005-12-13 Arcessa, Inc. Method for using agents to create a computer index corresponding to the contents of networked computers
US6516337B1 (en) * 1999-10-14 2003-02-04 Arcessa, Inc. Sending to a central indexing site meta data or signatures from objects on a computer network
WO2001027805A2 (en) 1999-10-14 2001-04-19 360 Powered Corporation Index cards on network hosts for searching, rating, and ranking
US6321265B1 (en) * 1999-11-02 2001-11-20 Altavista Company System and method for enforcing politeness while scheduling downloads in a web crawler
AU4712601A (en) 1999-12-08 2001-07-03 Amazon.Com, Inc. System and method for locating and displaying web-based product offerings
US6957383B1 (en) * 1999-12-27 2005-10-18 International Business Machines Corporation System and method for dynamically updating a site map and table of contents for site content changes
US20030158960A1 (en) * 2000-05-22 2003-08-21 Engberg Stephan J. System and method for establishing a privacy communication path
US6778986B1 (en) * 2000-07-31 2004-08-17 Eliyon Technologies Corporation Computer method and apparatus for determining site type of a web site
US20040030683A1 (en) * 2000-11-21 2004-02-12 Evans Philip Clark System and process for mediated crawling
US6957390B2 (en) * 2000-11-30 2005-10-18 Mediacom.Net, Llc Method and apparatus for providing dynamic information to a user via a visual display
MY147018A (en) * 2001-01-04 2012-10-15 Thomson Licensing Sa A method and apparatus for acquiring media services available from content aggregators
JP2002288224A (ja) * 2001-03-28 2002-10-04 Hitachi Software Eng Co Ltd サイトマップ配信方法およびシステム
JP2002297436A (ja) * 2001-03-29 2002-10-11 Hitachi Software Eng Co Ltd 携帯端末向けコンテンツのサイトマップ管理方法及び装置並びにシステム
US20020194061A1 (en) * 2001-03-29 2002-12-19 International Business Machines Corporation Method and system for request based advertising on a mobile phone
US8868659B2 (en) * 2001-05-15 2014-10-21 Avaya Inc. Method and apparatus for automatic notification and response
US6820075B2 (en) * 2001-08-13 2004-11-16 Xerox Corporation Document-centric system with auto-completion
JP2003085208A (ja) * 2001-09-10 2003-03-20 Hitachi Ltd サイトマップ自動提供方法およびシステム並びにプログラム
US7047502B2 (en) * 2001-09-24 2006-05-16 Ask Jeeves, Inc. Methods and apparatus for mouse-over preview of contextually relevant information
US7136875B2 (en) * 2002-09-24 2006-11-14 Google, Inc. Serving advertisements based on content
JP2003308335A (ja) * 2002-04-15 2003-10-31 Just Syst Corp 文書検索システム及び方法、並びにプログラム
US7231395B2 (en) * 2002-05-24 2007-06-12 Overture Services, Inc. Method and apparatus for categorizing and presenting documents of a distributed database
CA2495536A1 (fr) * 2002-08-09 2004-02-26 Agency Multimedia Plateforme de type logicielle dediee au referencement de sites du reseau internet
US20040225730A1 (en) * 2003-01-17 2004-11-11 Brown Albert C. Content manager integration
US7380204B2 (en) * 2003-02-24 2008-05-27 Microsoft Corporation Infrastructure for generating web content
US7403785B2 (en) * 2003-06-17 2008-07-22 International Business Machines Corporation Consolidating online privacy preferences
EP1679896A4 (en) 2003-10-09 2006-10-11 Matsushita Electric Ind Co Ltd METADATA ACCESS CONTROL SYSTEM, CORRESPONDING METHOD, RECEIVER DEVICE, AND TRANSCEIVER DEVICE
JP4566683B2 (ja) * 2003-10-09 2010-10-20 パナソニック株式会社 メタデータアクセス制御システム及びその方法、並びに受信装置、送信装置
US20050086262A1 (en) * 2003-10-21 2005-04-21 Arto Kiiskinen Method and apparatus for WAP and XHTML site management
JP2005284334A (ja) * 2004-03-26 2005-10-13 Oki Electric Ind Co Ltd Webページ更新通知方法及び装置
US7596571B2 (en) * 2004-06-30 2009-09-29 Technorati, Inc. Ecosystem method of aggregation and search and related techniques
US7363296B1 (en) * 2004-07-01 2008-04-22 Microsoft Corporation Generating a subindex with relevant attributes to improve querying
US8219567B2 (en) * 2005-03-15 2012-07-10 Microsoft Corporation Mobile friendly internet searches

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020025686A (ko) * 2000-09-29 2002-04-04 포만 제프리 엘 미디어-온-디맨드 시스템과 미디어-온-디맨드 시스템내의미디어에 구성가능 액세스를 제공하는 방법과 머신판독가능 저장 장치
US20040260680A1 (en) * 2003-06-19 2004-12-23 International Business Machines Corporation Personalized indexing and searching for information in a distributed data processing system
US20050234895A1 (en) * 2004-04-14 2005-10-20 Nancy Kramer System and method for a modular user controlled search engine

Also Published As

Publication number Publication date
US20140046925A1 (en) 2014-02-13
US8234266B2 (en) 2012-07-31
KR101298888B1 (ko) 2013-08-21
KR20080043865A (ko) 2008-05-19
CA2621031A1 (en) 2007-03-08
JP2009510547A (ja) 2009-03-12
JP5474038B2 (ja) 2014-04-16
BRPI0616595A2 (pt) 2016-08-23
CN101971172A (zh) 2011-02-09
US7653617B2 (en) 2010-01-26
US20100125564A1 (en) 2010-05-20
JP5015935B2 (ja) 2012-09-05
JP2012069163A (ja) 2012-04-05
US8655864B1 (en) 2014-02-18
US20070050338A1 (en) 2007-03-01

Similar Documents

Publication Publication Date Title
CN101971172B (zh) 移动站点地图
US8694680B2 (en) Methods and apparatus for enabling use of web content on various types of devices
CN101211364B (zh) 用于万维网页中暴露的资源的公共书签的方法和系统
US7185272B2 (en) Method for automatically filling in web forms
CN101427229B (zh) 用于修改向计算机系统的终端用户显示的信息表示的技术
CN1934569B (zh) 集成有用户注释的搜索系统和方法
CN100447787C (zh) 用于在客户机端预取和高速缓存门户组件的方法、系统
US8892537B2 (en) System and method for providing total homepage service
US20080059454A1 (en) Search document generation and use to provide recommendations
US20120054143A1 (en) Systems and methods for rule based inclusion of pixel retargeting in campaign management
CN104321768A (zh) 用于执行应用程序以通过浏览电信网络查阅可访问的内容和服务的方法和系统
CN108681571A (zh) 基于Word2Vec的主题爬虫系统和方法
CN103718179A (zh) 信息处理装置、信息处理方法、信息处理程序以及记录有信息处理程序的记录介质
WO2007027469A2 (en) Mobile sitemaps
CN105740290A (zh) 移动设备自适应网络搜索的系统和方法
CN101268461A (zh) 用于将信息从信息服务器传输给客户端的方法
JP2009053912A (ja) 情報処理装置および方法、並びにプログラム
JP3662857B2 (ja) 検索システム、検索方法及び検索プログラム
KR20090013143A (ko) 인터넷을 통한 정보 제공방법 및 이를 기록한 기록매체
JP2006304104A (ja) 携帯端末機種情報配信方法及び同配信システム
KR20010016332A (ko) 배너를 이용한 검색 시스템 및 방법
KR20230051360A (ko) 검색 엔진 최적화 방법 및 그를 이용한 서버 장치
Prokopova et al. The Analysis, Design and Implementation of Optimized Web Structures

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Google limited liability company

Address before: American California

Patentee before: Google Inc.

CP01 Change in the name or title of a patent holder