标签:tor 爬虫类 流程 解析 增加 domain 标识 持久化存储 sch
实现方式:scrapy+scrapy_redis组件实现的分布式。scrapy+redis
原生的scrapy是不可以实现分布式的!!!
什么是分布式
为什么scrapy不可以实现分布式
scrapy-reids组件的作用是什么
提供可以被共享的管道和调度器
分布式的实现流程
环境的安装:pip install scrapy-redis
创建工程
cd 工程
创建爬虫文件:
修改爬虫文件:
修改settings配置文件
指定管道
ITEM_PIPELINES = {
‘scrapy_redis.pipelines.RedisPipeline‘: 400
}
指定调度器
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
配置调度器是否要持久化, 也就是当爬虫结束了, 要不要清空Redis中请求队列和去重指纹的set。如果是True, 就表示要持久化存储, 就不清空数据, 否则清空数据
SCHEDULER_PERSIST = True
指定redis数据库
REDIS_HOST = ‘192.168.13.254‘
REDIS_PORT = 6379
修改redis的配置文件redis.windows.conf
启动redis的服务端(携带配置文件)和客户端
启动分布式的程序:
向调度器的队列中扔入一个起始的url
在redis中就可以查看爬取到的数据
python爬虫---CrawlSpider实现的全站数据的爬取,分布式,增量式,所有的反爬机制
标签:tor 爬虫类 流程 解析 增加 domain 标识 持久化存储 sch
原文地址:https://www.cnblogs.com/dengl/p/11681829.html