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

Ruby Nokogiri可以在一些网站上获得og:image,ruby,nokogiri,Ruby,Nokogiri,我正在使用Nokogiri解析HTML并获取og:image值: <meta property="og:image" content="http://k.yimg.jp/images/top/ogp/fb_y_1500px.png"> 现在 但是yahoo.co.jp有og:image值: <meta property="og:image" content="http://k.yimg.jp/images/top/ogp/fb_y_1500px.png"> 如何在No

我正在使用Nokogiri解析HTML并获取og:image值:

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

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

<meta property="og:image" content="http://k.yimg.jp/images/top/ogp/fb_y_1500px.png">
如何在Nokogiri中获得正确的og:image?

我遇到问题的HTML响应由用户代理更改


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

我们需要一个你遇到问题的输入HTML的最小样本,这足以复制问题。你确定网站有一个og:image吗?我刚刚用curl检查了一下,它是og:图像在哪里都找不到。谢谢你们的评论,我解决了我的问题。这是UA的问题。你需要区分OpenURI和Nokogiri的不同之处。OpenURI正在打开URL并检索内容。这就是需要传递用户代理字符串,然后返回内容的内容,可以是StringIO,也可以是字符串,具体取决于使用open的方式。然后,Nokogiri通过读取文件和/或解析字符串来解析它。Nokogiri在任何时候都不关心URL本身或用户代理字符串。
<meta property="og:image" content="http://k.yimg.jp/images/top/ogp/fb_y_1500px.png">