大多数社交媒体网站都有一项功能,您可以输入链接,网站将生成该链接的链接预览。请参阅下面来自 Google+ 的示例
假设我想构建自己的。我使用 Ruby on Rails 作为 Web 框架,但这无关紧要,因为我想我必须使用 JS 来获取这个客户端,对吗?
我在哪里可以找到这些数据?我知道它通常在
<meta>
中标签,但这是标准吗?当我尝试几个链接时,只有描述位于<meta>
中。标签。图像和标题与元标记中的其他任何内容都不匹配。如何异步获取远程文档并解析其标签?如果有人能给我举一个例子,我将不胜感激。
谢谢!
最佳答案
作者可以通过三种常见方式在 HTML 文档中提供此数据(从最不具有表现力到最具表现力):
head
中的元数据元素: 这是纯 HTML,即-
meta
元素(defined/registeredname
属性值), -
link
元素(defined/registeredrel
属性值),以及 title
元素。
-
微格式:仍然使用纯 HTML,但与特定的
class
一起使用。名称。所有微格式均在 their wiki 中描述。 .结构化数据:使用扩展/附加语法( JSON-LD, Microdata, RDFa 、...)和词汇表( Schema.org 、 Open Graph Protocol 、 Dublin Core ...)。
里>
您通常会在您的编程语言中找到合适的解析器。
您可能会发现大多数网站都使用开放图谱协议(protocol)(在 RDFa 中),因为 Facebook 和 Twitter 使用了该协议(protocol)。可能紧随其后的是 Schema.org(采用 JSON-LD/Microdata/RDFa),因为它是由主要搜索引擎赞助的。
请注意,2. 和 3. 还允许作者提供有关页面上描述(或相关)的实体的数据,即并非每个提取的数据都适合链接预览,因此您必须考虑上下文。
关于javascript - 从 JS 获取 URL 元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42357295/