我无法让Nokogiri返回我在访问页面时看到的同样的内容和#34;查看来源"。而对于我的生活,我们无法弄清楚原因。
这是我正在查看的页面: http://www.amazon.com/gp/product/B009NWFP5Q
正如你所看到的那样,它会返回一个橙色的鞋子......如果我查看来源并通过搜索" hiRes"找到我正在寻找的链接。两次,我得到: http://ecx.images-amazon.com/images/I/71b75uTtzDL.UL1500.jpg
但是,如果我用Nokogiri运行此代码:
require 'nokogiri'
require 'open-uri'
require 'uri'
url = "http://www.amazon.com/gp/product/B009NWFP5Q"
doc = Nokogiri::HTML(open(url))
pic = doc.css('div#imageBlock_feature_div script')[0]
puts pic
并查找相同位置的链接我得到此图片: http://ecx.images-amazon.com/images/I/81R97WG9nyL.UL1500.jpg
这是一款蓝色的鞋子! Arghhh ..知道为什么吗?
答案 0 :(得分:1)
可能显示的颜色是基于您的会话或分配给存储在浏览器中的cookie的动态属性。找到一种方法来提供一个能够准确返回所需内容的URL。也可以使用http客户端代码提供cookie,但这似乎是计划B。