问题
Scrapy中对请求的去重是通过计算一个request的fingerprint,并放到一个set中来实现的。代码如下:1
2
3
4
5
6
7def request_seen(self, request):
    fp = self.request_fingerprint(request)
    if fp in self.fingerprints:
        return True
    self.fingerprints.add(fp)
    if self.file:
        self.file.write(fp + os.linesep)
Scrapy-Redis也是如此,