我正在使用 Scrapy 抓取页面:
http://feeds.reuters.com/reuters/companyNews
我尝试了很多次,我坚信以下内容(在shell中)不起作用,并返回空结果:
response.xpath('//*[@class="itemtitle"]/a/text()').extract()
在chrome控制台中,这是给我带来预期结果的地方:
$x('//*[@class="itemtitle"]/a/text()')[0]
我检查了robot.txt中的目标网址,并发现了以下内容:
User-agent: *
Disallow: /~a/
我想知道是否不允许刮它。
所以我的具体问题是,可以防止机器人在某些页面上刮擦吗?如果不是我的代码有什么问题,那将在Scrapy shell中带来空结果。
答案 0 :(得分:0)
始终检查源HTML(通常在浏览器中为Ctrl+U
)。您需要:
response.xpath('//item/title/text()').extract()