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

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


咨詢
建站咨詢
