国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

scrapy ---分布式爬蟲

這篇具有很好參考價值的文章主要介紹了scrapy ---分布式爬蟲。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?導模塊

pip install scrapy-redis

?原來scrapy的Scheduler維護的是本機的任務隊列(待爬取的地址)+本機的去重隊列(放在集合中)---》在本機內(nèi)存中
如果把scrapy項目,部署到多臺機器上,多臺機器爬取的內(nèi)容是重復的?

?流程圖

scrapy ---分布式爬蟲,爬蟲,scrapy,分布式,爬蟲


所以實現(xiàn)分布式爬取的關(guān)鍵就是,找一臺專門的主機上運行一個共享的隊列比如Redis,
然后重寫Scrapy的Scheduler,讓新的Scheduler到共享隊列存取Request,并且去除重復的Request請求,所以總結(jié)下來,實現(xiàn)分布式的關(guān)鍵就是三點:
? ? #1、多臺機器共享隊列
? ? #2、重寫Scheduler,讓其無論是去重還是任務都去訪問共享隊列
? ? #3、為Scheduler定制去重規(guī)則(利用redis的集合類型)
? ??
? ??
# scrapy-redis實現(xiàn)分布式爬蟲
?? ?-公共的去重
? ? -公共的待爬取地址隊列

??使用步驟

? ? ???????????from scrapy_redis.spiders import RedisSpider
?? ?1 把之前爬蟲類,繼承class CnblogsSpider(RedisSpider):


? ? ?2 去掉起始爬取的地址,加入一個類屬性

? ? ? ? 去掉它:start_urls = ["https://www.cnblogs.com"] #爬取的初始地址? ??
? ? ?? ?redis_key = 'myspider:start_urls' ?# redis列表的key,后期我們需要手動插入起始地址??


? ? ?3 配置文件中配置

??????????scrapy redis去重類,使用redis的集合去重????????
? ? ? ? DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"


? ? ? ? 不使用原生的調(diào)度器了,使用scrapy_redis提供的調(diào)度器,它就是使用了redis的列表
? ? ? ????????? SCHEDULER = "scrapy_redis.scheduler.Scheduler"
? ? ? ? ????????REDIS_HOST = 'localhost' ? ? ? ? ? ? ? ? ? ? ? ? ? ?# 主機名
? ? ? ????????? REDIS_PORT = 6379 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 端口
? ? ? ????????? ITEM_PIPELINES = {
? ? ? ?# 'mysfirstscrapy.pipelines.MyCnblogsPipeline': 300,
? ? ? ?'mysfirstscrapy.pipelines.MyCnblogsMySqlPipeline': 301,
? ? ? ? 'scrapy_redis.pipelines.RedisPipeline': 400,
? ? }
? ? ? ??
? ? # 再不同多臺機器上運行scrapy的爬蟲,就實現(xiàn)了分布式爬蟲

? ? ? 4.將初始爬取的地址傳到redis隊列中---cmd啟動redis

lpush key value [value ...]

key------就是第二步 ?redis_key對應的值

value--------就是爬取的地址初始地址

????????分布式爬蟲 - 劉清政 - 博客園 (cnblogs.com)文章來源地址http://www.zghlxwxcb.cn/news/detail-562062.html

到了這里,關(guān)于scrapy ---分布式爬蟲的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 分布式爬蟲架構(gòu)-對等分布式(2)

    前言 本文是該專欄的第45篇,后面會持續(xù)分享python爬蟲干貨知識,記得關(guān)注。 在面對海量數(shù)據(jù)的采集需求時,使用分布式爬蟲是非常有必要的。繼上一篇,詳細介紹主從分布式爬蟲架構(gòu),對主從分布式相關(guān)知識感興趣的同學,可往前翻閱。而本文,筆者再單獨來詳細介紹分布

    2023年04月25日
    瀏覽(30)
  • [爬蟲]3.2.2 分布式爬蟲的架構(gòu)

    [爬蟲]3.2.2 分布式爬蟲的架構(gòu)

    在分布式爬蟲系統(tǒng)中,通常包括以下幾個主要的組成部分:調(diào)度器、爬取節(jié)點、存儲節(jié)點。我們接下來將詳細介紹每一個部分的功能和設(shè)計方法。 調(diào)度器是分布式爬蟲系統(tǒng)中的核心,它負責管理和分發(fā)爬取任務。調(diào)度器通常需要處理以下功能: URL管理 :調(diào)度器需要管理一個

    2024年02月16日
    瀏覽(30)
  • 網(wǎng)絡(luò)爬蟲:如何有效的檢測分布式爬蟲

    分布式爬蟲是一種高效的爬蟲方式,它可以將爬蟲任務分配給多個節(jié)點同時執(zhí)行,從而加快爬蟲的速度。然而,分布式爬蟲也容易被目標網(wǎng)站識別為惡意行為,從而導致IP被封禁。那么,如何有效地檢測分布式爬蟲呢?本文將為您一一講解。 檢查請求頭 我們可以檢查分布式爬

    2024年02月09日
    瀏覽(25)
  • Go分布式爬蟲(二十四)

    Go分布式爬蟲(二十四)

    爬蟲項目的一個重要的環(huán)節(jié)就是把最終的數(shù)據(jù)持久化存儲起來,數(shù)據(jù)可能會被存儲到 MySQL、MongoDB、Kafka、Excel 等多種數(shù)據(jù)庫、中間件或者是文件中。 之前我們爬取的案例比較簡單,像是租房網(wǎng)站的信息等。但是實際情況下,我們的爬蟲任務通常需要獲取結(jié)構(gòu)化的數(shù)據(jù)。例如一

    2023年04月20日
    瀏覽(35)
  • Go分布式爬蟲筆記(二十)

    Go分布式爬蟲筆記(二十)

    創(chuàng)建調(diào)度程序,接收任務并將任務存儲起來 執(zhí)行調(diào)度任務,通過一定的調(diào)度算法將任務調(diào)度到合適的 worker 中執(zhí)行 創(chuàng)建指定數(shù)量的 worker,完成實際任務的處理 創(chuàng)建數(shù)據(jù)處理協(xié)程,對爬取到的數(shù)據(jù)進行進一步處理 scheduler/scheduler.go main.go 特性 我們往 nil 通道中寫入數(shù)據(jù)會陷入

    2023年04月13日
    瀏覽(25)
  • 爬蟲的分布式思維與實現(xiàn)思路

    爬蟲的分布式思維與實現(xiàn)思路

    scrapy-redis實現(xiàn)分布式,其實從原理上來說很簡單,這里為描述方便,我們把自己的 核心服務器 稱為 master ,而把用于 跑爬蟲程序 的機器稱為 slave 我們知道,采用scrapy框架抓取網(wǎng)頁,我們需要首先給定它一些start_urls,爬蟲首先訪問start_urls里面的url,再根據(jù)我們的具體邏輯,

    2024年02月12日
    瀏覽(20)
  • 從0到1構(gòu)建智能分布式大數(shù)據(jù)爬蟲系統(tǒng)

    從0到1構(gòu)建智能分布式大數(shù)據(jù)爬蟲系統(tǒng)

    【作者主頁】: 吳秋霖 【作者介紹】:Python領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、阿里云博客專家、華為云享專家。長期致力于Python與爬蟲領(lǐng)域研究與開發(fā)工作! 【作者推薦】:對JS逆向感興趣的朋友可以關(guān)注《爬蟲JS逆向?qū)崙?zhàn)》,對分布式爬蟲平臺感興趣的朋友可以關(guān)注《分布式爬蟲平臺搭建

    2024年02月05日
    瀏覽(23)
  • 大規(guī)模數(shù)據(jù)爬取 - 增量和分布式爬蟲架構(gòu)實戰(zhàn)

    大規(guī)模數(shù)據(jù)爬取 - 增量和分布式爬蟲架構(gòu)實戰(zhàn)

    嗨,親愛的爬蟲開發(fā)者們!在當今的數(shù)據(jù)驅(qū)動時代,大規(guī)模數(shù)據(jù)的爬取對于許多領(lǐng)域的研究和應用至關(guān)重要在本文中,我將與你分享大規(guī)模數(shù)據(jù)爬取的實戰(zhàn)經(jīng)驗,重點介紹增量和分布式爬蟲架構(gòu)的應用,幫助你高效地處理海量數(shù)據(jù)。 1.增量爬蟲 增量爬蟲是指只爬取新增或更新

    2024年02月10日
    瀏覽(21)
  • 什么是Python爬蟲分布式架構(gòu),可能遇到哪些問題,如何解決

    什么是Python爬蟲分布式架構(gòu),可能遇到哪些問題,如何解決

    目錄 什么是Python爬蟲分布式架構(gòu) 1. 調(diào)度中心(Scheduler): 2. 爬蟲節(jié)點(Crawler Node): 3. 數(shù)據(jù)存儲(Data Storage): 4. 反爬蟲處理(Anti-Scraping): 5. 分布式通信和協(xié)調(diào)(Communication and Coordination): Python爬蟲分布式架構(gòu)代碼示例 1. 調(diào)度中心(scheduler.py): 2. 爬蟲節(jié)點(crawl

    2024年02月10日
    瀏覽(21)
  • 分布式爬蟲與SOCKS5代理池的組合優(yōu)勢

    在數(shù)據(jù)驅(qū)動的時代,網(wǎng)絡(luò)爬蟲成為了獲取大量信息的重要工具。然而,隨著網(wǎng)站反爬策略的升級,傳統(tǒng)的單機爬蟲面臨著速度慢、易被封禁等問題。為了應對這些挑戰(zhàn),我們可以嘗試將分布式爬蟲與SOCKS5代理池相結(jié)合,提高爬蟲的性能和穩(wěn)定性。 分布式爬蟲簡介 a.什么是分布

    2024年02月10日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包