ume*_*ezo 1 facebook ruby-on-rails
我有一个购物推荐网站,允许用户发布他们推荐的商品的网址.
表单当前仅包含主产品页面的URL的单个输入.
如果用户要发布如下链接:
我想要显示此网址中包含的og:图像的图像标记.
使用facebook开放图协议页面,我看到上面的示例url确实有一个og:image
如何将网址提取到og:image?
我最终使用了下面的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标签的页面上也是如此.(我没有完全错误地实现它,因为它确实在某些页面上工作......).
| 归档时间: |
|
| 查看次数: |
3210 次 |
| 最近记录: |