虽然request_seen返回true,但scrapy蜘蛛爬行ursl

时间:2014-03-19 20:48:49

标签: python python-2.7 scrapy

我正在使用scrapy 0.20和python 2.7

我想避免重复的项目。

我制作了这个自定义类

def request_seen(self, request):
        fp = self.__getid(request.url)
        print 'we are heeeeeeeeeeeeeeeeeeeeeeeeere {0}'.format(fp)
        if (fp is not None) and (fp in self.fingerprints):
            print 'sssssssssssssssssssssssss'
            return True
        elif fp is not None:
            print 'why are you here'
            self.fingerprints.add(fp)
            if self.file:
                self.file.write(fp + os.linesep)
            return False
        else:
            return False 

请看一下。

当我运行我的蜘蛛时,我可以看到文本why are you here,其中elif是真的。在elif里面,我回归真实。因此,蜘蛛应该知道这个网址已被访问过,并且不得再访问它。

但就我而言,虽然request_seen返回true,但蜘蛛会将这些项目归为一类。

请帮助

修改

我在我的设置中有这个

DUPEFILTER_CLASS = 'TestSpider.CustomFilter.CustomFilter'

EDIT2

这是一个小型的打印屏幕

enter image description here

0 个答案:

没有答案