Facebook如何知道要从文章中解析什么图像?

时间:2010-06-07 05:12:39

标签: html image parsing facebook

首先,我想说我不确定在哪里发布这个但是它与编程有关。如果它在错误的位置我道歉并请让我知道我应该在哪里发布它。

在朋友墙上分享文章时,Facebook会抓取文章的缩略图。他们如何总是从文章中获得正确的缩略图?

例如,它不会抓取http://www.nytimes.com/2010/06/07/world/asia/07convoys.html?hp的徽标img元素,而是抓取与文章对应的正确图像元素。

我正在寻找类似的东西,并且想知道在这个例子中解析html找到图像的好方法。感谢。

3 个答案:

答案 0 :(得分:32)

实际上,Facebook寻找缩略图的方式并不那么神奇。它会搜索一组<meta><link>标记,用于指定要使用的标题,说明和图像。

如果找不到它正在查找的任何<meta><link>标记,它基本上会要求用户选择适合的<img>标记。

对于纽约时报,它使用以下内容:

<meta name="thumbnail" content="whatever.jpg" />

Facebook建议您使用<link>标记代替缩略图。

<meta name="title" content="title" />
<meta name="description" content="description " />
<link rel="image_src" href="thumbnail_image" />
  

来源:Facebok Share/Specifying Meta Tags

答案 1 :(得分:2)

他们并不总是抓住正确的图像,即使有一些好的逻辑。

在很多情况下,我看过一个可供选择的缩略图列表,这意味着Facebook的解析器认为它们具有同等的相关性。

我猜他们(可能还有其他的东西)看看dom结构并找到接近看似“可共享”内容的图片。

更新:

经过一些实证检验后,图像维度似乎发挥了重要作用。太小和太宽的图像不被视为缩略图。如果您的徽标大小合适,则希望它显示为缩略图之一。例如,尝试在http://www.e24.se上分享内容。

答案 2 :(得分:0)

这些只是猜测,因为我对Facebook的内部操作一无所知,但如果我从页面解析缩略图,我会考虑以下几点:

  • 图像的大小,如前所述
  • hrefalt属性
  • 中的相关关键字
  • 页面上<img>标记的位置越靠近相关内容越好,但可能并不总是适用于复杂的布局
  • <img>代码或附近的代码中缺少与广告相关的关键字(想象一下双击)

另外,据我所知,Facebook元标记是相当新的,所以我的猜测是链接页面刮板仍然难以抓取图像;)但是如果你正在运行一个网站并希望Facebook抓住它当它刮擦你的页面时的正确信息我强烈建议实施它们。