在我自己的网站上抓一页图片以显示缩略图(Rails)

时间:2011-03-28 09:55:15

标签: ruby-on-rails image screen-scraping

我有一个带有帖子和帖子评论的rails应用程序。在帖子页面的顶部,我想显示帖子和帖子评论中包含的所有图像的缩略图(自动)。当用户使用图像添加帖子评论时,顶部的缩略图将更新以反映新图像。我想到了两种选择,但它们似乎都不完美:

1)使用ScrAPI或类似的

抓取页面

2)在post和post_comment模型中创建扫描图像内容的方法,这需要某种图像正则表达式和数据库查询

似乎应该有更好的方法,使用一些Javascript魔法或其他东西。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

URL正则表达式是一个已解决的问题,因此我冒险尝试选项2来检查已发布的U​​RL内容。然后,您可以更进一步,对图像执行HEAD请求,以检查其内容类型。

如果内容类型是已知图像,请下载并将其存储在某处(db / s3等)以便稍后呈现。

我将这些放在像延迟作业这样的后台队列中,因为这些外部请求会影响用户的体验。

答案 1 :(得分:0)

您希望在每个帖子后都有更新的图像,因此选项1听起来更好。这仍适用于不支持javascript的浏览器。