1

我试图实现类似Facebook的功能:当用户发布链接时,Facebook抓取链接的网站,并抓取最相关的(大)图像。我已经在这里和Quora上阅读了一些解决方案,但他们主要是关于PHP,并没有提供详细的解决方案。一个答案,我发现美国的追随者,但是在Rails的初学者,我不能完全肯定这将如何做到:Rails:从给定链接自动生成缩略图的任何宝石?

1.You可以简单地卷曲请求

2.注册的所有图片通过HTML解析

3.显示用户选择的一个Facebook等,或显示第一个(默认)图像。

有没有我可以使用的任何宝石(即使我需要结合它们)来实现这一目标?我也猜测我也需要javascript以允许用户选择最相关的照片,但这不是高优先级。我只想从链接中找到照片,并将其上传到我们的亚马逊服务器。我们目前正在使用Carrierwave来做到这一点。

回答

2

对于某些抓取工具,您可以查看Ruby Toolbox,但我认为没有一个完全适合您的需求。

我可能会用我自己的具体的解决方案去..因此,抓住与httpartyRestClient网站,解析响应,并查找图像与Nokogiri。选择的逻辑取决于你。

但有一件事,当用户实际发布链接时,您可能不想这样做,您应该在后台执行此操作,以便不会阻止用户界面。我伤口建议像这样的Sidekiq。看看这个截屏视频#366 Sidekiq

+0

谢谢!我会看看这一切! – kibaekr

1

我会使用HTTParty和Nokogiri从页面抓取元数据。现在大多数页面都使用Facebook开放图形标签,通常包含图像/标题/描述,您可以使用它来创建一个好的缩略图。

这里有一个很好的SO帖子,在这里抓取FB打开图标:How to parse og meta tags using httparty for rails 3