问题
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也是如此,