Nokogiri可以在一些网站上获得og:image



我使用Nokogiri解析HTML并获得og:image值:

def get_og_image url
  html = open(url, "r:binary").read                                                                                                                                                                                                                                                                                       
  doc = Nokogiri::HTML(html.toutf8, nil, 'utf-8')                                                                                                                                                                                                                                                                         
  if doc.css("meta[property='og:image']").present?                                                                                                                                                                                                                                                                        
    img_path = doc.css("meta[property='og:image']").first.attributes["content"].value                                                                                                                                                                                                                                     
  end 
  img_path
end

现在

> get_og_image "http://techcrunch.com/2014/08/05/the-hug-a-water-bottle-sensor-and-app-helps-you-stay-hydrated/"
=> "http://tctechcrunch2011.files.wordpress.com/2014/08/the-hug_office.jpg?w=680"
> get_og_image "http://www.yahoo.co.jp/"
=> nil

但是yahoo.co.jp有og:image值:

<meta property="og:image" content="http://k.yimg.jp/images/top/ogp/fb_y_1500px.png">

我如何才能在野村获得正确的og:图像?

的响应HTMLhttp://www.yahoo.co.jp/",我遇到了问题,由用户代理更改。

当我使用Nokogiri访问URL时,我设置了一个伪用户代理,然后我可以获得og:image。

相关内容

  • 没有找到相关文章