要使用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"
- }
-
其他部分的编写按正常代码编写就可以了