1. scrapy的基本结构?
调度器(请求队列), 下载器(下载网页),spider(解析提取数据),pipeline(验证和持久化,一般用于存储数据库),引擎(核心)
==>resquests 分析接口,构造请求 =》 发送请求 =》数据清洗解析提取=>入库存储
2.scrapy的中间件?
下载中间件:
爬虫中间件:
3.scrapy指纹去重原理和scrappy-redis的去重原理?
scrapy的去重原理流程:利用hash值和集合去重。首先创建fingerprint = set()结合,然后将request对象利用sha1对象进行信息摘要,摘要完成之后, 判断hash值是否在集合中,如果在,返回true,如果不在,就add到集合
fp = self.request_fingerprint(request)