html - 我可以在 Rails 中使用哪些工具/方法从外部 URL 获取信息?

标签 html ruby-on-rails ruby

我正在寻找一种方法来在 Rails 的外部 URL 中获得最大的图像。例如,将提供一个 URL。服务器端将扫描页面的 HTML,然后“抓取”它找到的最大图像,并下载它(或收集它的链接)。

有人知道我可以使用什么工具来做到这一点吗?

谢谢

最佳答案

一般来说,有两种方法可以做到这一点,要么自己动手,要么接入外部服务。

如果你想自己做,我建议使用 nokogiri gem,它允许你解析 HTML 页面并提取你想要的标签。例如,要从一个页面获取所有图像链接,您可以这样做:

require 'nokogiri'
require 'open-uri'

doc = Nokogiri::HTML(open('<INSERT URL HERE>'))

doc.css('img').each do |link|
  puts link.attr("src").value
end

要获得最大的图像,您必须实际确定它们的大小。 “fastimage” gem 看起来对此很有用。

另一种选择是使用外部服务来执行此操作。我建议查看 embedly ,其中有一个 gem .如果您认为您可能计划在将来需要这些链接中的任何其他信息,我认为这将是更好的选择,但请注意访问为您提供最大图像的服务版本(preview ) 您实际上需要支付月费。

关于html - 我可以在 Rails 中使用哪些工具/方法从外部 URL 获取信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12013917/

相关文章:

html - 将 float 的 div 高度扩展到父 div 的底部

javascript - 将 AJAX 响应文件显示到 View 中

ruby-on-rails - 将 AWS SQS 与 Ruby on Rails 结合使用

javascript - 如何向 Ruby Mechanize gem 添加 JS 支持?

Ruby Mail gem:连接被拒绝 - connect(2) (Errno::ECONNREFUSED)

html - 我如何(在何处)使用 css 在嵌套的 html 表格中设置固定的单元格大小?

html - 大于400px时如何使div水平堆叠

ruby-on-rails - 从 rails 中的整数或小数中去除逗号

ruby-on-rails - 我可以在 gem 中仅从文件中获取一次数据吗?类似于 Rails 中的配置/初始化器?

ruby-on-rails - 加载错误 : cannot load such file -- active_support