我正在寻找一种方法来在 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/