我对网络抓取、Python和Scrapy还不熟悉。如果我的理解有一些根本性的缺陷,请原谅我。我来自JAVA/R背景。我想刮胡子www.amazon.in书的细节。在使用chrome的XPATH finder之后,我构建了所需的XPATH,但是当我在Scrapy shell中尝试相同的XPATH查询时,会显示不同形式的URL。在
例如,我得到的XPATH finder中的以下XPATH查询//ul[@id='ref_976390031']/li[23]/a[@href]/@href
www.amazon.in/s/ref=lp_976389031_nr_n_21?fst=as%3Aoff&rh=n%3A976389031%2Cn%3A%21976390031%2Cn%3A1318203031&bbn=976390031&ie=UTF8&qid=1418660681&rnid=976390031
但是,当我在scrapy shell的response变量上尝试时,response.xpath("//ul[@id='ref_976390031']/li[23]/a[@href]/@href").extract()
我明白了
http://www.amazon.in/b?ie=UTF8&node=1318203031
更有趣的是,当输入到浏览器中时,被废弃的链接会降落到另一个页面,而不是它应该登陆的页面(同样的行为,也就是说,当链接被废弃时,登录到不同的页面也会发生)
还有一件事我观察到,虽然废弃的链接与浏览器呈现的链接不同,但大多数链接都是正确定向/重定向的,而像这样的一些链接则不然。在
这种行为使我的刮刀刮在一些环节上成功,有些环节根本没有报废。在
对这种行为的任何帮助/解释将不胜感激。提前谢谢。在
Kyle K,warvariuc是对的,该网站为不同的用户代理呈现不同的URL。在
在
settings.py
中添加以下参数修复了此问题感谢大家抽出时间回复。在
相关问题 更多 >
编程相关推荐