要使用pycharm跑多个running的话需要设置允许多个实例运行。
点击 运行→编辑配置→编辑配置模板→选择python→点击允许多个实例
这样pycharm就可以测试多个scrapy同时进行爬取
使用scrapy分布式爬虫的时候需要scrapy_redis模块的安装
pip install scrapy_redis
class TuSpider(RedisSpider): # 1. 更换继承关系
"""
分布式爬虫
"""
name = "tu"
allowed_domains = ["xxxxxxx"]
# start_urls = ["hxxxxx/"]
# 2. 分布式爬虫不需要start_urls了
# 3. 更换为redis_key, 这个key对应的是起始的url
redis_key = "tupian:start_urls"
起始url在redis中可以手工录入
lpush tupian:start_urls xxxxx
以下为settings的配置
SCHEDULER = "scrapy_redis.scheduler.Scheduler" # 将调度器替换为scrapy_redis的调度器
SCHEDULER_PERSIST = True # 这里如果为真 ,在关闭时自动保存请求信息,如果为假,则不保存
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter" # 去重逻辑
ITEM_PIPELINES = {
"fenbushitupian.pipelines.FenbushitupianPipeline": 300,
"scrapy_redis.pipelines.RedisPipeline": 301 # 配置redis的pipeline
}
# redis配置
REDIS_HOST = '127.0.0.1'
REDIS_PORT = 6379
REDIS_DB = 8
REDIS_PARAMS = {
# "password":"123456"
}
其他部分的编写按正常代码编写就可以了