如何检索博客文章/新闻文章的主要图像?

时间:2010-07-04 06:07:01

标签: html ruby-on-rails image

我有一个新闻聚合器Newzupp,我想修改它。现在我只是显示新闻故事的标题,我将它们链接到他们的网址。

我计划通过使用图片+标题而不是普通标题来使其更加图形化。我想知道如何获得每篇文章的主要图像(有点类似于谷歌新闻)。

我能想到的一种方法是我可以剥离所有图像并显示指向同一篇文章的图像。但我认为这不会有效。还有其他方法吗?


我找到了解决方案。

  1. 获取网址[html / xml]
  2. 的内容
  3. 使用hpricot
  4. 抓取内容
  5. 查找标签为“img”
  6. 的所有元素
  7. 做一些研究,找出哪些是主显示图像。 [像Wired.com的rss饲料中的第6张图片]
  8. 我仍然认为这是非常低效的。我想知道Google新闻等服务如何抓取网站/博客并显示相关图片。

4 个答案:

答案 0 :(得分:2)

也许您可以按照DOM层次结构中的图像大小或位置进行过滤/排序(即最接近正文顶部/紧跟在h1标记之后)。

答案 1 :(得分:1)

广告主机黑名单怎么样,你会忽略图像?

一般来说,广告是在其他地方托管,而故事相关图片托管在同一个域中,也许您可​​以过滤那些与网站本身具有相同基本网址的图片的页面。

答案 2 :(得分:0)

为什么不直接将所有抓取的图像(使用hpricot / nokogiri)转换为方形缩略图(使用rmagick或类似的东西,或者仅在服务器端调整大小)并将这些图像分组到主题正文下方的一个DIV中。然后,您可以使用带幻灯片的灯箱仅在用户点击它们时显示实际图像。这样它看起来更加图形化,仍然不会破坏您网站的外观。找到最相关的图像很棘手。

答案 3 :(得分:0)

您还可以尝试在网页上搜索OpenGraph元标记。大多数新闻网站都使用og:image属性来指定文章的主要图像。

示例:

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