Как я могу получить основное изображение сообщения в блоге / новостной статьи? - PullRequest
4 голосов
/ 04 июля 2010

У меня есть созданный агрегатор новостей Newzupp , который я хочу изменить.Прямо сейчас я просто показываю заголовки новостей и связываю их с их URL.

Я планирую сделать его более графическим, используя изображения + заголовки вместо простых заголовков.Я хочу знать, как я могу получить основное изображение каждой статьи (что-то похожее на новости Google).

Один из способов, который я могу придумать, - я могу раздеть все изображения и отобразить изображение, которое указывает ната же статья.Но я не думаю, что это будет эффективно.Есть ли другой способ сделать это?


Я нашел решение для этого.

  1. Получить содержимое URL [html / xml]
  2. Очистите содержимое, используя hpricot
  3. Найдите все элементы с тегом "img"
  4. Сделайте некоторые исследования, чтобы найти, какой из них является основным отображаемым изображением.[Как 6-е изображение в случае RSS-канала Wired.com]

Я все еще думаю, что это крайне неэффективно.Мне бы хотелось узнать, как такие службы, как Новости Google, очищают сайты / блоги и отображают соответствующие изображения.

Ответы [ 4 ]

2 голосов
/ 04 июля 2010

Возможно, вы могли бы фильтровать / сортировать по размеру изображения или положению в иерархии DOM (то есть ближе к верхней части тела / сразу после тега h1).

1 голос
/ 06 июля 2010

А как насчет черного списка рекламных хостов, от которых вы бы игнорировали изображения?

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

0 голосов
/ 28 августа 2016

Вы также можете попытаться найти на страницах мета-тегов OpenGraph . Большинство новостных сайтов используют свойство og:image для указания основного изображения статьи.

Пример:

<meta property="og:image" content="http://ia.media-imdb.com/images/rock.jpg" />
0 голосов
/ 04 июля 2010

Почему бы просто не преобразовать все очищенные изображения (используя hpricot / nokogiri) в квадратные уменьшенные изображения (используя rmagick или тому подобное или просто изменить их размер на стороне сервера) и сгруппировать эти изображения в один DIV чуть ниже тела темы , Затем вы можете использовать лайтбокс с слайд-шоу, чтобы показывать реальные изображения только тогда, когда пользователь нажимает на них. Таким образом, он выглядит более графически и все же не портит внешний вид вашего сайта. Найти наиболее подходящее изображение сложно.

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