Методы для извлечения 'лучшего' изображения от веб-страницы

Я пытаюсь создать что-то сродни функциональности "Доли" Facebook для моего веб-сайта.

Я перешел к сути дела, где я могу принять URL, очистить его для meta ключевых слов и соответственно получить заголовки/описания, но я немного застреваю относительно лучшего способа определить 'вероятные' фотографии, которыми пользователь может хотеть обменяться.

Я в настоящее время использую SimpleXMLElement, чтобы перевернуть страницу в проходимый DOM и найти все теги, превращая их в абсолютные URL. После этого я не уверен, как я могу пойти о нахождении подходящей миниатюры.

Я загружаю их всех и иду размером файла? Я использую своего рода эвристику как, "был встречен посреди страницы"?

У кого-либо еще есть какие-либо рекомендации, предложения или подсказки?

9
задан Eddie Parker 10 March 2010 в 15:05
поделиться

2 ответа

Некоторое время назад я написал нечто подобное, чтобы получить изображения из скопированных сообщений в блогах. Моими критериями выбора изображения было что-то вроде получения списка всех изображений на странице с последующим назначением «приоритетных точек»:

  • Игнорировать изображения, размещенные из черного списка, взятого из списка AdBlocker
  • Игнорировать косвенные изображения, например связанные в из таблиц стилей или в IFRAME
  • Игнорировать изображения шириной менее 50 пикселей или высотой
  • Игнорировать изображения, которые повторяются более одного раза
  • Назначение точек приоритета изображениям, размещенным из белого списка хостов (например, photobucket, imageshack.us)
  • Назначьте точки приоритета 3 самым большим изображениям на странице
  • Назначьте точки приоритета изображениям на одном хосте
  • Назначьте точки приоритета изображениям с помощью тега ALT.
  • Назначьте точки приоритета изображениям, появляющимся в P tag

Затем выберите тот, у которого больше всего очков приоритета. Это, конечно, не было надежным или чрезмерно научным, но гораздо чаще приносило что-то полезное.

7
ответ дан 3 November 2019 в 01:55
поделиться

У меня нет прямого опыта этого, поэтому я не уверен, что есть какая-то конкретная передовая практика, но в целом я думаю, что эвристический подход, учитывающий несколько факторов, имеет смысл из-за вариативности, обнаруженной в реализациях веб-сайтов.

Я бы посмотрел на два набора элементов: свойства изображения и контекст того, где и как размещаются изображения.

Свойства изображения:

  • Ширина и высота соответствуют минимальным пороговым значениям.
  • Соотношение сторон является приемлемым (фоновые изображения в виде мозаики могут иметь экстремальные соотношения сторон, что является хорошим признаком того, что изображение может не подходить)
  • Подробнее на изображении присутствует более одного цвета (труднее обнаружить, но можно избежать различных фоновых изображений)

Контекст изображения:

  • Изображение не повторяется на странице (это позволяет избежать использования значков и других элементов дизайна, которые могут повторяться)
  • Происходит после тегов h1, h2 и т. Д. На странице; это касается вашей точки зрения об изображениях, исходящих из середины страницы, снова избегая элементов дизайна.
  • Имеет тег alt (хотя он не используется постоянно, поэтому, возможно, не предоставляет много полезной информации)

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

Также обратите внимание, что некоторые страницы могут использовать CSS (или Flash и т. Д.) Для отображения изображений. Это наши изображения вне вашей компетенции (в соответствии с заданным вами алгоритмом); Возможно, это не имеет большого значения, но есть что подумать.

3
ответ дан 3 November 2019 в 01:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: