Как Facebook узнает, какое изображение нужно разобрать в статье? - PullRequest
22 голосов
/ 07 июня 2010

Прежде всего, я хочу сказать, что я не был уверен, где разместить это, но это очень связано с программированием. Если это не в том месте, я прошу прощения и, пожалуйста, дайте мне знать, где я должен опубликовать это.

При публикации статьи на стене друзей Facebook получит миниатюру статьи. Как они всегда получают правильный эскиз из статей?

Например, он не захватывает элемент логотипа img из http://www.nytimes.com/2010/06/07/world/asia/07convoys.html?hp, а скорее выбирает правильный элемент изображения, соответствующий статье.

Я собираюсь сделать что-то похожее, и мне было интересно, как можно разобрать HTML, чтобы найти изображение, приведенное в этом примере. Спасибо.

Ответы [ 3 ]

32 голосов
/ 07 июня 2010

На самом деле, способ поиска миниатюр в Facebook не так волшебен. Он ищет набор тегов <meta> и <link>, которые указывают заголовок, описание и изображение для использования.

Если он не может найти ни одного из тегов <meta> и <link>, которые он ищет, он в основном просит пользователя выбрать любой тег <img>, который подходит.

В случае с NY Times он использует следующее:

<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 / Указание метатегов

2 голосов
/ 07 июня 2010

Они не всегда получают правильное изображение, хотя определенно есть хорошая логика.

Во многих случаях я видел список миниатюр на выбор, то есть парсер Facebook считал их одинаково актуальными.

Я бы предположил, что они (вероятно, помимо прочего) смотрят на структуру dom и находят изображения, близкие к контенту, который выглядит "общедоступным".

UPDATE:

После некоторого эмпирического тестирования кажется, что размеры изображения играют большую роль. Изображения, слишком маленькие и слишком широкие, не считаются миниатюрами. Если ваш логотип имеет правильный размер, ожидайте, что он будет отображаться как один из эскизов. Попробуйте поделиться чем-нибудь на http://www.e24.se, например.

0 голосов
/ 07 июня 2010

Это всего лишь предположения, поскольку я ничего не знаю о внутренних операциях Facebook, но если бы я разбирал эскизы со страницы, я бы рассмотрел несколько вещей:

  • Размер изображения, какранее указано
  • Соответствующие ключевые слова в атрибутах href или alt
  • Расположение тега <img> на странице, чем ближе к релевантному контенту, тем лучше, но может не всегда работать длясложные макеты
  • Отсутствие связанных с рекламой ключевых слов в теге <img> или близлежащих тегах (приходит двойной щелчок)

Кроме того, насколько я знаю, мета-теги Facebookдовольно новое, так что я предполагаю, что скребок на странице ссылок по-прежнему тяжело захватывает изображения;) Однако, если вы работаете с сайтом и хотите, чтобы Facebook собирал нужную информацию, когда он просматривает ваши страницы, я настоятельно рекомендую реализовать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...