Scrapy和Scrapy-redis有什么區(qū)別?簡(jiǎn)單的來(lái)講,Scrapy是一個(gè)通用的爬蟲框架,但不支持分布式;而Scrapy-redis就是為了方便實(shí)現(xiàn)Scrapy框架的分布式抓取。具體內(nèi)容跟著小編往下看。
scrapy和scrapy-redis有什么區(qū)別?
Scrapy是一個(gè)Python的爬蟲框架,爬取效率很高,具有高度定制性,但是不支持分布式;
Scrapy-redis是一個(gè)基于redis數(shù)據(jù)庫(kù)、運(yùn)行在Scrapy框架之上的組件,可以讓Scrapy支持分布式策略,Slaver端共享Master端redis數(shù)據(jù)庫(kù)里的item隊(duì)列、請(qǐng)求隊(duì)列和請(qǐng)求指紋集合。
為什么會(huì)選擇redis數(shù)據(jù)庫(kù)呢?
因?yàn)閞edis支持主從同步,數(shù)據(jù)庫(kù)都是緩存在內(nèi)存中的,所以基于redis的分布式爬蟲,對(duì)請(qǐng)求和數(shù)據(jù)的高頻讀取效率非常高。
Scrapy框架怎么樣?
Scrapy是適用于Python的一個(gè)快速、高層次的屏幕抓取和web抓取框架,用于抓取web站點(diǎn)并從頁(yè)面中提取結(jié)構(gòu)化的數(shù)據(jù)。Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測(cè)和自動(dòng)化測(cè)試。
Scrapy吸引人的地方在于它是一個(gè)框架,任何人都可以根據(jù)需求方便的修改。它也提供了多種類型爬蟲的基類,如BaseSpider、sitemap爬蟲等,最新版本又提供了web2.0爬蟲的支持。
盡管Scrapy原本是設(shè)計(jì)用來(lái)屏幕抓取(更精確的說(shuō),是網(wǎng)絡(luò)抓取),但它也可以用來(lái)訪問(wèn)API來(lái)提取數(shù)據(jù)。
聯(lián)系客服