系统如何确定哪个html元素包含有关哪个变量的数据?
HTML5允许用户标记其元素,如
<div data-productname=BMW>BMW</div>
但搜索引擎如何使用旧网站进行操作?
答案 0 :(得分:5)
data-
属性供作者用于自己的目的,用于“私人使用”。浏览器,搜索引擎和其他软件应该忽略它们,除了专门为使用它们而定制的软件根据分配给他们的私人含义。
所以使用它们的任何搜索引擎都会被破坏。
通常,搜索引擎不会尝试确定哪个html元素包含有关哪个变量的数据。它们对页面的文本内容进行操作,并在某种程度上对某些标记元素(如h1
进行操作,可以假设它们具有比其他文本更高的相对相关性。)
已经并且正在开发用于低级元数据的系统,其可以使用例如具有特殊名称或一些新属性的类属性。一些主要的搜索引擎在某些方面表达了对此的支持,特别参见http://www.schema.org。但在实践中,他们似乎主要是针对非常大的网站,根据尚未公开披露的原则。
答案 1 :(得分:0)
rdfa和微格式等语义标记支持产品模式。
许多产品网站还希望您以特定格式提供包含产品数据的Feed。
答案 2 :(得分:0)
他们如何得出结构化信息?
他们将解析页面的html元素,并将它们存储到与搜索引擎本身一样多样的数据结构中。
有些搜索引擎会将元信息编入索引,但主要搜索引擎已开始忽略元标记。
大多数搜索引擎会考虑:
这是一个有趣的信息图形,可以回答您的任何其他问题: http://ppcblog.com/how-google-works/
答案 3 :(得分:0)
在语义网成长之前(我不确定,何时以及将以何种最终形式出现),从纯HTML中检索含义确实存在一些问题。如果(不一定是HTML)页面的发布者不使用某种标准方式来说明哪些数据是什么,那么您(作为搜索引擎的一方)应该自己推断出语义。首先,由于提到“非HTML”页面是新鲜的,因此存在托管XML页面的站点,这些页面伴随着XSL以便在浏览器中呈现。如果您知道正在使用的模式或DTD,XML会为您提供更多语义信息。 (顺便说一句,维基百科确实为档案提供了他们的XML文章。)如果没有使用或未记录XML,可以这么说,还有第二种方法,需要专家和程序员。专家是分析内容并决定将HTML页面的哪些部分视为存储特定信息的模板的人。例如,您可以从某些互联网目录的html页面详细说明搜索结果的模板,并为每个列出的站点提取类别,评级和其他内容。可以使用任意编程语言(C ++,Python等)在网页中解析和检测这些模板。在此之后,您可以应用众所周知的map-reduce
算法或其他方法,通过键值对索引提取的数据。如果你看看哪些网站通常以这种模板化的方式处理,你会发现它们很大,很公开,结构合理(随着时间的推移结构变化很小)。这对编写和重用模板很有意义。当然,如果相应的站点标记中的内容发生了变化,相同的专家应该监控数据提取质量并编辑模板。意义的第三个资源是词汇。例如,如果您拥有全面的地理名称,bussines公司(包括automanufacturers的子类别)和其他分类的东西,您几乎可以自动地在语义索引中点击它们。我说“差不多”,因为你应该根据上下文单词对每一个内容进行加权 - 在关于计算机的文档中,Java
最有可能是关于编程语言,而在旅行社的网站上,它更有可能一个岛屿。
答案 4 :(得分:0)
在您的特定示例中,您应该考虑使用RDFa来描述HTML文档中的数据。您会注意到我没有提到使用Microdata,因为RDFa可以为爬虫提供更丰富,更多面的数据。在您的特定情况下,您可以利用GoodRelations词汇表(用于电子商务,产品和服务),schema.org词汇表(借用GoodRelations)和Vehicle Sales Ontology(用于汽车)。请参阅下面的工作示例:
<div prefix="sc: http://schema.org/ gr: http://purl.org/goodrelations/v1# vso: http://purl.org/vso/ns#"
typeof="vso:Automobile gr:ProductOrServiceModel sc:Product"
resource="http://dbpedia.org/page/BMW_1_Series">
<span property="gr:name sc:name">BMW 1 Series</span>
</div>
这会在每个方面公开您的数据,使其几乎任何搜索引擎(包括语义搜索引擎)都可以理解和消费。此外,您还可以使用相同的URI来链接到DBPedia(维基百科数据库)中的资源,以识别您的实例。
答案 5 :(得分:0)
有几种方法可以提取这类信息: