Python scrapy上的空列表响应提取

Python scrapy上的空列表响应提取,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我对scrapy是新手,我必须抓取网页进行测试。所以我在终端上使用下面的代码,但它返回一个空列表,我不明白为什么。当我在另一个网站(如amazon)上使用相同的命令,并使用正确的选择器时,它会起作用。有人能点灯吗?多谢各位 刮壳'https://www.woolworths.com.au/shop/browse/drinks/cordials-juices-iced-teas/iced-teas response.css'.tileList title'.extract 首先,当我查阅页面的源代

我对scrapy是新手,我必须抓取网页进行测试。所以我在终端上使用下面的代码,但它返回一个空列表,我不明白为什么。当我在另一个网站(如amazon)上使用相同的命令,并使用正确的选择器时,它会起作用。有人能点灯吗?多谢各位

刮壳'https://www.woolworths.com.au/shop/browse/drinks/cordials-juices-iced-teas/iced-teas response.css'.tileList title'.extract
首先,当我查阅页面的源代码时,你似乎有兴趣在标题标签中删除标题“冰茶”。我说得对吗

其次,我尝试了scrapy shell会话来理解这个问题。这似乎是用户代理请求头的设置。查看下面的代码会话:

没有用户代理集

使用用户代理集

因此,为了改进您未来的实践,您可以在scrapy shell会话中使用-s KEYWORDSETTING=value。这是给刮痧的。 并使用viewresponse检查请求是否返回了预期的内容,即使它发送了200。根据我的经验,在viewresponse中,您可以看到在ScrapyShell中使用内容页时,有时甚至源代码与在普通浏览器中使用时略有不同。所以这是一个很好的实践来检查这个快捷方式。这是给刮痧的。在每次scrapy shell会议上也会提到它们

scrapy shell https://www.woolworths.com.au/shop/browse/drinks/cordials-juices-iced-teas/iced-teas
In [1]: response.css('.tileList-title').extract()                               
Out[1]: []
view(response) #open the given response in your local web browser, for inspection.
scrapy shell https://www.woolworths.com.au/shop/browse/drinks/cordials-juices-iced-teas/iced-teas -s USER_AGENT='Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'

In [1]: response.css('.tileList-title').extract()                               
Out[1]: ['<h1 class="tileList-title" ng-if="$ctrl.listTitle" tabindex="-1">Iced Teas</h1>']
#now as you can see it does not return an empty list.
view(response)