ume*_*ezo 6

我最终使用了下面的Nokogiri,同时依赖于Railscasts的这个教程.

def photo_from_url(url)
  if !Nokogiri::HTML(open(url)).css("meta[property='og:image']").blank?
    photo_url = Nokogiri::HTML(open(url)).css("meta[property='og:image']").first.attributes["content"]
    self.photo = URI.parse(photo_url)
    self.save
  end
end
Run Code Online (Sandbox Code Playgroud)

我发现这比opengraph gem更可靠:

url_with_photo = opengraph.fetch(url)
url_with_photo.image
Run Code Online (Sandbox Code Playgroud)

因为第二种方法有时不起作用,即使在源代码中有og:image标签的页面上也是如此.(我没有完全错误地实现它,因为它确实在某些页面上工作......).