本公开涉及用于从网络上的第三方来源有效地获取信息并且用于将该信息解析成价格、产品以及其他信息的方法和系统。
背景技术:以下描述包括可以用于理解本发明的信息。但并不承认在本文中提供的信息是现有技术或者与目前本发明要求保护的权利相关,也不承认明确或隐含地引用的任何出版物为现有技术。诸如Google、Bing等搜索引擎在网络上搜索出大量信息并且将大量信息编入索引。“网络爬虫(Crawler)”(亦称“爬行器(spider)”)利用从“队列”获取的URL,以通常从网页获取内容。网络爬虫或其他软件存储一些内容并且将一些内容编入索引。然后,用户可以搜索编入索引的内容,查看结果并且跟随超链接返回原始来源、或者返回至所存储的内容(所存储的内容被称为“高速缓存”)。然而,爬行和索引的计算资源并非是无限的。URL队列通常按优先次序排序的,以引导网络爬虫进入可以容纳该通信量的网页服务器,这些服务器不阻止网络爬虫(诸如,根据通常可从网页服务器获取的“robots.txt”文件),其经历来自用户的更大的通信量,并且经历更多内容上的变化。然而,传统的搜索引擎并未集中于价格和产品信息。如果在网页上价格改变,但是网页的其余部分依然一样,则传统的网络爬虫(或队列管理器)无法区分队列中的网页位置的优先顺序,这通常是因为价格是整体内容的很小的一部分,并且该变化未被标记为重要的;相反,如果网页改变,但是价格和/或产品信息依然不变,那么由于内容的总体变化,尽管该价格和产品信息保持不变,但网页内容的变化可以促使传统的网络爬虫区分队列中的网页位置的优先顺序。附图说明图1为示出根据在本论文中公开的实施方式配置的示例性计算装置的网络和装置示图。图2为示例性因迪克斯(Indix)服务器200计算装置及其一些数据结构和/或元件的功能方框图;图3为在图2的计算装置中示出的因迪克斯数据存储器300的功能方框图。图4为示例性爬行代理400计算装置及其一些数据结构和/或元件的功能方框图。图5为在图4的计算装置中示出的爬行代理数据存储器500的功能方框图。图6为示出URI检验程序600的实施方式的流程图,其中,爬行代理400从URI队列355中获取URI305并且获取URI内容实例310。图7为示出用于解析URI内容实例310并且保持解析结果325的解析器程序700的实施方式的流程图。图8为示出用于识别包含价格或产品属性的URI305并且将URI添加至URI队列355中的播种机程序800的实施方式的流程图。图9A和图9B为示出URI队列管理器程序900的实施方式的流程图。图10为示出解析映射验证程序1000的实施方式的流程图。图11为示出具有与使用属性名称标记的属性相对应的HTML和CSS元素的网页的浏览器窗口的示图。图12为示出MPID分配器程序1200的实施方式的流程图。具体实施方式以下具体实施方式部分提供了用于理解本技术的各种实例的具体细节。本领域的技术人员将理解的是,无需很多这种细节也可以实践本技术。在某些情况下,没有详细地或者根本没有示出或描述结构和功能,以免使本技术的实例的描述不必要地晦涩难懂。其目的在于,即使与本技术的某些实例的详细描述相结合使用,也通过其最广泛的合理方式解释在下面提出的描述中使用的术语。虽然下面可以强调某些术语,但是在这个具体实施方式部分中同样明显地并且明确地限定旨在通过任何限制的方式解释的术语。除非上下文另有明确要求,否则在整个描述和权利要求中,措辞“包括(comprise)”、“包含(comprising)”等以包含的意义进行解释,而非以排他或穷举意义进行解释;即,在“包括但不限于”的意义上。如在本文中所使用的术语“连接”、“耦接”或其任何变体意指在两个或多个部件之间的任意的直接或间接连接或耦接;元件之间连接的耦接可以是物理上的、逻辑上的或其组合。此外,措辞“在本文中”、“上述”、“下述”以及具有相似意义的措辞在本申请中使用时,应整体上指代本申请,而非指代本申请的特定部分。在上下文允许时,使用单数的措辞也可以包括复数,而使用复数的措辞也可以包括单数。关于两个或多个物品的列表,措辞“或者”涵盖该措辞的以下所有解释:在该列表中的任何物品、在该列表中的所有物品以及在该列表中的一个或多个物品的任何组合。在几幅图中,某些部件具有相同的大写元素文本,但是具有不同的元素编号。在本文中使用大写元素文本(但是未使用元素编号)表示时,虽然基于在其中出现元素的各种实施方式的计算装置,但会具有差异,但是这些引用应理解为基本上相同,并且表示具有相同的大写元素文本的任何元素。如在本文中所使用的统一资源标识符(“URI”)是用于识别计算装置和/或网络(例如,互联网)上的资源的字符串。这种识别能够使用特定协议来与资源的表示交互。指定语法及相关联协议的“方案(Scheme)”限定各个URI。在由互联网工程任务组(“IETF”)发布的请求注解(“RFC”)备忘录3986内定义了URI方案的通用语法。根据RFC3986,URI(包括URL)由四个部分构成:<方案名称>:<分层部分>[?<查询>][#<片段>](<schemename>:<hierarchicalpart>[?<query>][#<fragment>])URI以表示用于在该方案内分配标识符的规格的方案名称(schemename)开始。方案名称包括字母,随后是字母、数字以及加号(“+”)、句号(“.”)或连字符(“-”)字符的任何组合;并且以冒号(“:”)结束。URI的分层部分(hierarchicalportion)旨在保存本质上分层的识别信息。通常,这部分绘制有双斜杠(“//”),然后绘制有可选的主机(authority)部分和可选路径。可选的主机部分保存以“@”(例如,用户名:密码@)结束的可选的用户信息部分(未示出)、主机名称(即,域名或IP地址,在此处为“example.com”)以及位于冒号“:”之后的可选端口号。路径部分是由斜杠(“/”)分开的一系列的两个或多个部分(在概念上与目录相似,虽然不必表示目录)。如果URI包括主机部分,那么该路径部分可以空着。可选的查询部分标记有问号并且包含本质上无需分层的额外的识别信息。路径部分和查询部分共同在URI方案和主机的范围内识别资源。一般不限定查询字符串语法,而是通常作为由分号或&号分开的一系列0或多个<键>=<值>(<key>=<value>)对来进行组织,例如:键1=值1;key2=值2;键3=值3(;)或者键1=值1&键2=值2&键3=值3(&)从提供与URI的语法和结构相关的额外信息的RFC3986提取大部分以上信息。出于所有目的,通过引用将RFC3986结合于此。通常,虽然非排他地参照万维网,但是在本文中所使用的“爬行代理”是通常在服务器上或者由服务器执行的处理,该服务器请求网络上的其他服务器的内容。如在图1中示出了作为爬行代理400的爬行代理1至N的实例;可以具有并且可以由该示图来表示多个爬行代理400。如本文中所使用的“产品”应被理解为意指“产品或服务”。在本文中所引用的“产品属性”应被理解为意指“产品或服务属性”。如在本文中所使用的“iPID”或iPID330是在因迪克斯系统内分配给针对产品的URI的唯一标识符。例如,iPID330可以是URI305的散列(hash)。如在本文中所使用的“主iPID”或“MPID”或MPID332是由MPID分配器程序1200分配给产品的iPID330。虽然可以由多方来分配和销售产品,但是MPID通常旨在识别通常由共同的制造商生产的单个产品。iPID和MPID与价格属性340记录和产品属性345记录相关联。价格属性340记录可以包括一个或多个记录,该一个或多个记录例如包括:将可以是用于在特定时间观察到的价格的标识符的iPRID编码的值、(上文论述的)iPID、产品名称(在该记录中的“产品名称”值还可以在本文中被称为“产品”)、标准价格、销售、价格、返利额、价格指导记录(包含与价格相关的特别指导,诸如该价格仅仅适合于学生)、币种、日期和时间戳、税务记录、运输(shipping)记录(表示与至不同位置的运输相关的成本,无论是否根据运输成本等计算税款等)、价格有效期起始日期、价格有效期结束日期、数量、测量类型的单位、测量值的单位、商户名称(具有可购买产品的商户的名称;在该记录中的“商户名称”值在本文中还可以被称为“商户”)、商店名称(一个商户可以具有多个商店;在该记录中的“商店名词”值在本文中还可以被称为“商店”)、用户ID、数据信道(表示价格属性340记录的来源,诸如网上爬行、众包(crowdsource)、价格信息的持牌供应商或者来自商户)、来源细节记录(例如,表示URI、报纸广告)、可用性标志、促销代码、捆绑细节记录(表示作为一部分捆绑的产品)、条件类型记录(表示新的、使用过的、差的、良好的以及类似的记录)、社会等级记录(表示该价格的“相似物”或类似物的等级)、投票/相似物记录(表示价格或产品接收的多个“相似物”或类似物)、价格等级记录、能见度指示器记录(表示公众是否可以看见价格、是否仅仅商户可以看见价格等)、供应链参考记录(表示在供应链中是否从零售商、批发商或者另一方中获得价格)、销售位置(表示通过该价格可获得的产品的地理位置)、制造位置记录(表示产生或制造产品)、发行日期记录(表示产品上市的时间)、以及产品时代记录(表示用户使用产品的时间)。以上术语(例如,产品、价格、商户、商店、来源细节等)在本文中大写时旨在表示在价格属性340记录中的值。例如,产品属性345记录可以包括将产品的特征编码或者描述产品的值。虽然仅仅几十或几百列可以适用于任何规定的产品,但是整个产品属性345图式可以包括几千列。在针对戒指的产品属性345记录中的一组实例值如下:标题:“纯银钻石&蓝色黄玉指环”;商标:“蓝色尼罗河”;类别(例如,在类别方案中的类别335):“戒指”;金属名称:“银”;石头形状:“垫石”;石头名称:“黄玉”;宽度:“3mm”;石头颜色:“蓝色”;产品类型:“戒指”;诞生石:“9月”;以及设定类型:“尖头”。针对鞋子的一组实例产品属性345如下:品牌:“爱世克斯”;类别(例如,在类别方案中的类别335):“男士运动鞋&运动”;鞋码:“8”;产品类型:“摔跤鞋”;颜色:“黑色”;鞋子款式:“运动鞋”;运动:“运动”;鞋帮材料:“网格”。以上术语在本文中大写时旨在表示在产品属性345记录中的值。如在本文中所使用的“内容”包括文本、图形、图像(包括静止和视频图像)、音频、图形设置以及图形设置的指令,包括可以(例如)由浏览器应用解释的HTML和CSS指令。如在本文中所使用的“列表页面(ListingPage)”是包含与多个iPID相关联的信息的网页。如在本文中所使用的“产品页面(ProductPage)”是包含与单个IPID相关联的信息的网页。如在本文中所使用的“事件”是通常在新闻或当前事件中的信息。可以在内容中找出事件。列表页面、产品页面以及事件页面均是网页类型350的实例。通常,爬行代理400包含来自由网络服务器115所服务的网页的诸如URI内容实例310的内容。爬行代理400经由URI305访问网页,由爬行代理400从URI队列355获取该URI。由因迪克斯服务器200通过执行解析器程序700、播种机程序800以及URI队列管理器程序900来保持URI队列355。解析器程序700根据解析映射315为诸如价格属性340和产品属性345(在本文中共同称为“属性340/345”)的价格和产品信息解析URI内容实例310,并且存储解析结果325。播种机程序800识别包含属性340/345的URI305并且将URI添加入URI队列355。在最后爬行URI时,例如根据解析结果325以及与iPID330相关联的所观察到的属性340/345的变化的分析、搜索解析结果325的用户是否表示对iPID330、MPID332或与解析结果325相关联的类别335感兴趣、网络服务器115的功能的或声明的可用性、与iPID330相关联的类别335的属性340/345(例如,“价格”属性)的变化、解析结果325是否与列表页面或产品页面一致、或者另一个网页类型350等因素,并且根据其他标准,URI队列管理器程序900在URI队列355中调整各个URI305的下一次检验360的时间。基于是否具有与URI305相关联的现有解析映射315来选择应用于URI内容实例310以将URI内容实例310转换成解析结果325的解析映射315,并且iPID330与URI305(或者等价iPID334)相关联或者与网站、域名、电子商务平台(可以由电子商务平台160提供)或者与关联于URI或URI内容实例310的其他解析映射确定器320相关联。如果没有与URI305相关联的解析映射315,那么可以选择一个或多个通用解析映射315,并且这些解析映射用于将URI内容实例310转换成解析结果325。可以选择多个解析映射315,针对数据类型所筛选的其结果是失配的,并且将验证其结果并且设定为修改后的解析结果325。可以基于人工和基于机器的系统对解析映射315和解析结果325进行验证。通过在网页或其他图形通信介质中用图表标记解析结果325来解析映射验证程序1000帮助进行基于人工的验证,用于人工确认或校正。参照图10论述解析映射验证程序1000,而参照图11说明和论述了解析映射验证程序1000的实施方式的输出的实例。图1为示出根据在本论文中公开的实施方式配置的示例性计算装置的网络和装置示图。在图1中示出了因迪克斯服务器200和因迪克斯数据库300。因迪克斯服务器200可以执行集群管理器程序260,以管理爬行代理400的集群以及因迪克斯服务器200的实例的集群。参照图7中一步论述了因迪克斯服务器200还可以执行解析器程序700,以将URI内容实例310解析为解析结果325。参照图8进一步论述了因迪克斯服务器200还可以执行播种机程序800,以将新的URI添加至URI队列355;参照图9进一步进行论述执行URI队列管理器程序900,以管理URI队列355;以及参照图10和图11进一步进行论述了执行解析映射验证程序1000以对解析结果325进行验证。因迪克斯数据库300示出为包括例如可以在Hadoop分布式文件系统中存储URI内容实例310的HDFS数据库130、以及例如可以在HBase非关系分布式数据库中存储解析结果325的HBASE数据库135。参照图3进一步论述因迪克斯数据库300。在图1中还示出了爬行代理400(表示爬行代理1至N)以及爬行代理数据库500。爬行代理400(包括代理1至N)可以执行URI检验程序600。参照图4进一步论述了爬行代理400。在图1中还示出了诸如移动或非移动计算机装置的客户端装置105。客户端装置105是计算装置的实例,例如,诸如移动电话、平板电脑、膝上型电脑、个人电脑、游戏电脑或媒体播放电脑。客户端装置105表示能够在浏览器或相同的用户界面中显示内容的任何计算装置。客户端装置由“用户”使用。客户端装置105可以被用于搜索解析结果325并且验证和改善与URI305相关联的解析映射315。在图1中还示出了网络服务器115,该服务器可以响应于URI(例如,URI305)对以网页或等效输出形式的内容进行服务。在图1中还示出了电子商务平台160,该电子商务平台可以提供电子商务业务,例如,通过包括HTML和CSS元素的网页模板托管(hosting)的网站和/或网页。电子商务平台160的客户可以使用内容来完成网页模板并且例如为来自网络服务器115的网页和网站进行服务。例如,相对于其他机器通过使用证书来对机器或用户进行认证和授权,可以实现在图1中所示的装置之中的交互。在图1中,计算机器可以物理上分开计算装置或者在逻辑上分开由共同的计算装置执行的处理。在图1中示出的某些元件虽然可以通过网络150进行连接,但是这些元件彼此直接连接(例如,因迪克斯数据库300至因迪克...