Facebook上的链接功能如何运作?

时间:2012-01-12 22:26:49

标签: php ajax facebook automation

我一直在寻找,但没有找到全面的答案,我只想知道这一点,当我把链接放到Facebook时,它会为所述网站生成标题,描述和图像 - 如何?

这样做的过程是什么?

4 个答案:

答案 0 :(得分:4)

我认为你的意思是当你分享到Facebook的链接时。 Facebook在网站的<title>标签中找到标题。描述可以从HTML文档中的描述元标记或网站上的文本中获取。由于这不完全可靠,因此您可以在发布链接之前编辑说明。我认为标题也是如此。

图像是从Facebook可以在您提供的链接文档中找到的图像中选择的。您还可以选择在发布链接时使用哪个图像,或者您可以选择不显示图像。

我不知道有关这方面的任何细节,而不是我上面所写的内容,我也找不到任何有关该主题的文档。以上几乎是您需要知道的,无论如何都要使用该功能,并计划您计划在Facebook上共享的任何网站。


从链接中提取数据的技术术语是Web scraping。如果要抓取的网站(您可以使用CURL执行此操作,或使用PHP的file_get_content或其他多种方式),那么只需获取原始HTML,然后搜索您的数据提取。

提取标题很简单。如果您使用正则表达式,您可以编写一个在网站的<title></title>标签之间获取内容的内容,这是一个简单的示例:(?<=(\<title\>))(.*)(?=</title>)

类似的正则表达式可用于查找网站上的所有图像链接以及样本内容。

答案 1 :(得分:2)

Facebook服务器查看已发布的链接并从中提取某些数据。它可以是标题,图像或一些文本作为摘要。服务器如何决定采取什么以及忽略什么取决于HTML的构建方式 为了让开发人员确保facebook服务器看到正确的信息og:tags被放置在他们的页面上。 例如:

  • og:title - 链接预览的标题。
  • og:image - 将在预览中使用的图像URL。

它们在页面的HTML标记中显示如下:

<meta property="og:title" content="The Rock"/>
<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>

<小时/> 如果你想看到这个,你可以使用facebook提供的Debugger Tool。此工具向您显示完全 facebook如何查看网址,查看哪些信息以及查看网址信息是否有问题,它还会引起您的注意。

您可以在facebook Open Graph Protocol上详细了解here以及如何使用它。

答案 2 :(得分:0)

它来自您链接的页面来源的信息。

页面标题来自title标签之间的任何内容,它采用页面上显示的第一个图像。

答案 3 :(得分:0)

啊,是的,Facebook的好ol链接功能。当我为我的网站projectclimb.com

开发类似功能时,我研究了如何执行此操作

基本上它完成了这些步骤

1)客户端(通过AJAX)请求通过AJAX在Facebook服务器上加载/调用的URL

2)Facebook服务器执行http get请求,然后解析返回的HTML并删除除标题,描述标签以及任何图像之外的所有内容。

3)Facebook服务器重新打包这些信息并将其(通过AJAX)发送回客户端,该客户端显示一个很好的控件,所有这些信息都整齐地显示出来

听起来比实际情况复杂。没有太长时间来复制我的网站。