为什么<from>标签在试图刮掉它时会消失? Scrapy

时间:2016-03-14 14:21:53

标签: python web-scraping scrapy scrapy-spider scraper

我试图从亚马逊中搜集一些数据,我需要按照此页面上的评论数量对书籍进行排序:www.amazon.com/s/ref=lp_283155_nr_n_0?fst = as%3Aoff&amp; rh = n%3A283155 %2CN%3A 1000%2CN%3A1&安培;!BBN = 1000&安培,即= UTF8&安培; QID = 1457964444&安培; RNID = 1000 如果我用scrapy框架解析这个页面,那么表单标签就会消失,所以我不能刮掉它,为什么会这样?

我的浏览器看起来像这样:     [1]:http://i.stack.imgur.com/sSrsK.jpg

scrapy框架看起来像这样:     [2]:http://i.imgur.com/TEDILP8.jpg?1

这是我用scrapy打开页面时看到的open_in_browser()方法

它很奇怪,我不知道错误是什么 感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我尝试复制你的错误,发现当我打开给网址时,scrapy shell会重定向到另一个链接。当我查看回复时,这是一个完全不同的页面,而不是没有form标记的问题。 这是scrapy打印的Debug代码:

2016-03-15 13:35:35 [scrapy] DEBUG: Redirecting (301) to <GET http://www.amazon.com/s?ie=UTF8&bbn=1000&page=1&rh=n%3A283155> from <GET http://www.amazon.com/s/ref=lp_283155_nr_n_0?fst=as%3Aoff&rh=n%3A283155%2Cn%3A2Cn%3A1&bbn=1000&ie=UTF8&qid=1457964444&rnid=1000>

解决方法是尝试使用user-agent打开网址。像这样:

scrapy shell -s USER_AGENT='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.36 Safari/535.7' "http://www.amazon.com/s/ref=lp_283155_nr_n_0?fst=as%3Aoff&rh=n%3A283155%2Cn%3A2Cn%3A1&bbn=1000&ie=UTF8&qid=1457964444&rnid=1000"