gpt4 book ai didi

ruby-on-rails - 如何显示og :image given a page's url

转载 作者:行者123 更新时间:2023-12-02 01:14:07 25 4
gpt4 key购买 nike

我有一个购物推荐网站,允许用户发布他们推荐的商品的 URL。

该表单目前仅包含一个指向主产品页面 URL 的输入。

如果用户要发布如下链接:

http://www.homedepot.com/webapp/wcs/stores/servlet/ProductDisplay?productId=203533553&storeId=10051&langId=-1&catalogId=10053&cm_sp=BlackFriday-_-11_23-_-Hero_C-_-349_Each_GE_Washer_Dryer_Special_Buy#.UK-DHuOe_VQ

我想显示该 url 中包含的 og:image 的图像标签。

使用 facebook open graph protocol 页面,我看到上面的示例 url 确实有一个 og:image

http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.homedepot.com%2Fwebapp%2Fwcs%2Fstores%2Fservlet%2FProductDisplay%3FproductId%3D203533553%26storeId%3D10051%26langId%3D-1%26catalogId%3D10053%26cm_sp%3DBlackFriday-_-11_23-_-Hero_C-_-349_Each_GE_Washer_Dryer_Special_Buy%23.UK-DHuOe_VQ

如何提取 og:image 的 url?

最佳答案

我最终使用了 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

我发现这比 opengraph gem 更可靠:

url_with_photo = opengraph.fetch(url)
url_with_photo.image

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

关于ruby-on-rails - 如何显示og :image given a page's url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13530826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com