使用scrapy框架全站爬虫中rules规则筛选器的一个坑
在使用scrapy框架爬取某网图片的时候,出现了一个神奇的情况:当rules设置为如下的时候,

最后解析每张图片的回调函数并没被执行
当我把第二个rule的follow参数改为ture,回调函数就开始执行了
后来我找了不少文章,又看了这个子类的源码,原来如果rules会按照从上到下的顺序检测所有获得的页面是否符合提取规则,当第二个规则筛选器作用后,返回的是每组图片的首页的reponse对象,也就说页面包含了第二个rule已经提取出的地址,那么第三个rule就不会作用,因为可以使用第二个rule进行筛选,并且第二个rule的优先级大于第三个,所以永远也不会进入回调,因此在设置rules一定要检查是否有提取规则的重合与冲突
浙公网安备 33010602011771号