新聞中心
隨著社會(huì)經(jīng)濟(jì)的發(fā)展和大數(shù)據(jù)的興起,大量的數(shù)據(jù)等待著我們?nèi)ネ诰蛩鼈儩撛诘膬r(jià)值,比如說爬蟲技術(shù)的應(yīng)用,利用爬蟲可以快速有效的獲取信息,從而為下一步的數(shù)據(jù)分析提供可靠的數(shù)據(jù)支持。但是在實(shí)際使用爬蟲時(shí)會(huì)受到網(wǎng)絡(luò)環(huán)境、數(shù)據(jù)規(guī)模以及服務(wù)器性能的限制,這時(shí)我們就需要分布式構(gòu)建爬蟲來提高爬蟲的執(zhí)行效率了。

scrapyRedis是一個(gè)基于scrapy框架的分布式爬蟲框架,它特別專注于去重算法,把我們對(duì)于網(wǎng)絡(luò)信息采集實(shí)現(xiàn)為一個(gè)可以自由擴(kuò)展的分布式架構(gòu),可以一定程度的提高采集的效率。
scrapy_redis的結(jié)構(gòu)包括六大部分,分別為Redis服務(wù),爬蟲Master、Spider,以及分別負(fù)責(zé)調(diào)度、隊(duì)列存儲(chǔ)和數(shù)據(jù)存儲(chǔ)的模型;也就是說,它將爬蟲、隊(duì)列讀取、去重等工作分發(fā)給多臺(tái)服務(wù)器,從而采集到大量的信息,將之存入數(shù)據(jù)庫中。
下面貼出一個(gè)基于ScrapyRedis的最基本的示例代碼:
# 引入scrapy_redis的settings
from scrapy_redis.settings import SETTINGS
# 設(shè)置任務(wù)調(diào)度
SETTINGS[‘SCHEDULER’] = “scrapy_redis.scheduler.Scheduler”
# 設(shè)置去重算法
SETTINGS[‘DUPEFILTER_CLASS’] = “scrapy_redis.dupefilter.RFPDupeFilter”
# 設(shè)置請(qǐng)求的隊(duì)列類型
SETTINGS[‘SCHEDULER_QUEUE_CLASS’] = ‘scrapy_redis.queue.SpiderQueue’
ScrapyRedis一至少可以有效的提高爬蟲的執(zhí)行效率,同時(shí)它也提供了方便的去重算法,并且支持動(dòng)態(tài)增加slave機(jī)器,可以實(shí)現(xiàn)多級(jí)分布式爬蟲,因此ScrapyRedis在構(gòu)建分布式爬蟲時(shí)是非常有價(jià)值的框架。
創(chuàng)新互聯(lián)(cdcxhl.com)提供穩(wěn)定的云服務(wù)器,香港云服務(wù)器,BGP云服務(wù)器,雙線云服務(wù)器,高防云服務(wù)器,成都云服務(wù)器,服務(wù)器托管。精選鉅惠,歡迎咨詢:028-86922220。
名稱欄目:利用ScrapyRedis快速構(gòu)建分布式爬蟲(scrapy_redis)
文章位置:http://m.fisionsoft.com.cn/article/dpospdd.html


咨詢
建站咨詢
