【发布时间】:2019-06-02 03:27:58
【问题描述】:
我正在使用 Scrapy 来抓取页面,我尝试了很多次,我确信以下内容不起作用(在 shell 中)并返回空结果:
response.xpath('//*[@class="itemtitle"]/a/text()').extract()
这是 chrome 控制台中的位置,这给我带来了预期的结果:
$x('//*[@class="itemtitle"]/a/text()')[0]
我检查了robot.txt中的目标网址,发现如下:
User-agent: *
Disallow: /~a/
我想知道是不是不允许刮。
所以我的具体问题是,是否可以防止机器人抓取某些页面?如果不是我的代码有什么问题,那会在 Scrapy shell 中带来空结果。
【问题讨论】:
-
您应该链接实际页面。也许提要是用javascript加载的。不确定scrapy是否尊重robots.txt,但它永远不会刮掉任何东西。
-
Scrapy spider 尊重 robots.txt。当然也可以关掉。但是我在scrapy shell中这样做,据我所知没有设置。