系统如何确定哪个 html 元素包含有关哪个变量的数据?
HTML5 允许人们标记他们的元素,例如
<div data-productname=BMW>BMW</div>
但是搜索引擎如何处理旧网站呢?
系统如何确定哪个 html 元素包含有关哪个变量的数据?
HTML5 允许人们标记他们的元素,例如
<div data-productname=BMW>BMW</div>
但是搜索引擎如何处理旧网站呢?
这些data-
属性供作者用于他们自己的目的,用于“私人使用”。浏览器、搜索引擎和其他软件应该会忽略它们,除非软件专门根据分配给它们的私人含义来使用它们。
所以任何使用它们的搜索引擎都被破坏了。
通常,搜索引擎不会尝试确定哪个 html 元素包含有关哪个变量的数据。它们作用于页面的文本内容,并在一定程度上作用于某些标记元素(如h1
,可能被假定为比其他文本具有更高的相对相关性)。
已经并且正在为低级元数据开发系统,这些元数据可以使用例如具有特殊名称的类属性或一些新属性。一些主要的搜索引擎已经在某些方面表达了他们对这一点的支持,特别是参见http://www.schema.org。但在实践中,他们似乎主要根据尚未公开披露的原则对非常大的网站这样做。
直到语义网发展起来(我不确定它会在何时以及以何种最终形式出现),从纯 HTML 中检索意义确实存在一些问题。如果(不一定是 HTML)页面的发布者不使用某种标准方式来说明哪些数据是什么,那么您(作为搜索引擎的一方)应该自己推断语义。首先,由于“非 HTML”页面的提及是新鲜的,因此存在托管 XML 页面以及 XSL 以在浏览器中呈现的站点。如果您知道所使用的模式或 DTD,XML 会为您提供更多语义信息。(顺便说一句,Wikipedia 确实为他们的 XML 文章提供档案。)如果 XML 没有被使用或没有记录,可以说,还有第二种方法,它需要专家和程序员。专家是分析内容并决定 HTML 页面的哪些部分应被视为存储特定信息的模板的人。例如,您可以为来自某些 Internet 目录的 html 页面的搜索结果精心制作模板,并为每个列出的站点提取类别、评级和其他内容。可以使用任意编程语言(C++、Python 等)从网页中解析和检测这些模板。在此之后,您可以申请一个知名的map-reduce
算法或其他方法通过键值对索引提取的数据。如果您查看通常以这种模板化方式处理哪些站点,您会发现它们很大、公开且结构良好(随着时间的推移,结构几乎没有变化)。这对编写和重用模板很有意义。当然,如果相应的站点标记发生变化,同样的专家应该监控数据提取质量并编辑模板。意义的第三个资源是词汇。例如,如果你有一个全面的地理名称、商业公司(包括汽车制造商的子类别)和其他分类的东西,你几乎可以自动在语义索引中找到它们。我说“几乎”,因为您应该根据上下文词对每个命中进行加权 - 在有关计算机的文档中,Java
最有可能是关于编程语言,而在旅行社的网站上,它更可能是一个岛屿。
他们如何获得结构化信息?
他们将解析页面的 html 元素并将它们存储到与搜索引擎本身一样多样化的数据结构中。
一些搜索引擎将索引元信息,但主要的已经开始忽视元标记。
大多数搜索引擎考虑到:
这是一个有趣的信息图,可以回答您的任何其他问题:http: //ppcblog.com/how-google-works/
在您的特定示例中,您应该考虑使用 RDFa 来描述 HTML 文档中的数据。你会注意到我没有提到使用微数据,那是因为 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(维基百科数据库)中的资源。
有几种方法可以提取此类信息:
rdfa 和微格式等语义标记支持产品模式。
许多产品网站还希望您以某种格式提供包含产品数据的提要。