蜘蛛爬乌斯尔,虽然请求看到返回tru

2024-04-24 13:09:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python2.7中使用scrapy0.20

我想避免重复的项目。在

我做这个自定义类

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 

请看一下。在

当我运行spider时,我可以看到文本why are you here,这表示{}是真的。在这个elif内,我返回true。因此,蜘蛛应该知道这个url已经被访问过了,它不能再访问它了。在

但在我的例子中,尽管request_seen返回true,蜘蛛还是会craw这些项目。在

请帮助

编辑

我在我的环境里有这个

^{pr2}$

编辑2

这是一个小印刷屏幕

enter image description here


Tags: 项目selfnoneurlreturnifisrequest