日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Scrapy 框架 分布式 爬虫

發布時間:2025/7/25 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scrapy 框架 分布式 爬虫 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

分布式 爬蟲

  • scrapy-redis 實現

  • 原生scrapy 無法實現 分布式

    • 調度器和管道無法被分布式機群共享
  • 環境安裝

    - pip install scrapy_redis
  • 導包:from scrapy_redis.spiders import RedisCrawlSpider

  • 修改spider爬蟲文件
    - 將爬蟲類的父類修改成RedisCrawlSpider
    - 刪除allowed_domains和start_urls這兩個屬性
    - 添加一個新屬性:redis_key = 'xxx'(調度器隊列的名稱)

  • 配置使用指定的調度器和管道(在配置文件中增加如下配置)

    # 增加了一個去重容器類的配置, 作用使用Redis的set集合來存儲請求的指紋數據, 從而實現請求去重的持久化DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"# 使用scrapy-redis組件自己的調度器SCHEDULER = "scrapy_redis.scheduler.Scheduler"# 配置調度器是否要持久化, 也就是當爬蟲結束了, 要不要清空Redis中請求隊列和去重指紋的set。如果是True, 就表示要持久化存儲, 就不清空數據, 否則清空數據SCHEDULER_PERSIST = TrueITEM_PIPELINES = {'scrapy_redis.pipelines.RedisPipeline': 400 }
  • 指定持久化存儲對應redis的服務器:
    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = 6379

  • redis配置:(redis.windows.conf)

    bind 127.0.0.1

    關閉保護模式:protected-mode no

  • 開啟redis的服務端和客戶端

  • 運行工程:

    scrapy runspider spiderFilePath

  • 向調度器的隊列中仍入一個起始的url:

    在redis的客戶端執行:lpush xxx www.xxx.com

  • 轉載于:https://www.cnblogs.com/zhang-zi-yi/p/10749452.html

    總結

    以上是生活随笔為你收集整理的Scrapy 框架 分布式 爬虫的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。