2019-06-18分布式爬蟲和部署

Scrapy_redis分布式爬蟲

scrapy_redis功能:reqeust去重胜臊,爬蟲持久化钙态,和輕松實現(xiàn)分布式

安裝命令:pip3 install scrapy-redis

Scrapy-redis提供了下面四種組件(components):(四種組件意味著這四個模塊都要做相應的修改)

Scheduler

Duplication Filter

Item Pipeline

Base Spider

Scrapy_redis是工作流程


注意:

RedisSpider類 不需要寫start_urls:

scrapy-redis 一般直接寫allowd_domains來指定需要爬取的域,也可以從在構(gòu)造方法__init__()里動態(tài)定義爬蟲爬取域范圍(一般不用)渗磅。

必須指定redis_key翼岁,即啟動爬蟲的命令楼肪,參考格式:redis_key = 'myspider:start_urls'

根據(jù)指定的格式开财,start_urls將在 Master端的 redis-cli 里 lpush 到 Redis數(shù)據(jù)庫里汉柒,RedisSpider 將在數(shù)據(jù)庫里獲取start_urls

RedisCrawlSpider误褪,能夠支持分布式的抓取。因為采用的是crawlSpider碾褂,所以需要遵守Rule規(guī)則兽间,以及callback不能寫parse()方法

要使用分布式 Scrapy_Redis Settings.py設(shè)置文件中需要做一下配置

這里表示啟用scrapy-redis里的去重組件正塌,不實用scrapy默認的去重

DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"

使用了scrapy-redis里面的調(diào)度器組件嘀略,不使用scrapy默認的調(diào)度器

SCHEDULER = "scrapy_redis.scheduler.Scheduler"

允許暫停,redis請求的記錄不會丟失传货,不清除Redis隊列屎鳍,可以恢復和暫停

SCHEDULER_PERSIST = True

#設(shè)置請求任務(wù)的隊列模式

#SpiderPriorityQueue 是scrapy_redis框架默認的隊列模式(有自己的優(yōu)先級)

SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderPriorityQueue"

# SpiderQueue 是請求的隊列模式(FifoQueue),先進先出

#SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderQueue"

# SpiderStack 是請求的隊列模式(LifoQueue),后進先出

#SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderStack"

指定要存儲的redis的主機的ip,默認存儲在127.0.0.1

REDIS_HOST = 'redis的主機的ip'

定要存儲的redis的主機的port问裕,默認6379

REDIS_PORT = '6379'

Scrapy 部署

安裝相關(guān)庫:scrapyd:pip3 install scrapyd

?scrapyd-client: pip3 install scrapyd-client

?修改scrapy項目目錄下的scrapy.cfg配置文件:? ? ? ? ? ? ? ?

??[deploy]

?url=http://localhost:6800?

project=項目名稱

本地部署

項目部署相關(guān)命令: 注意這里是項目的名稱而不是工程的名稱

scrapyd-deploy -p <項目名稱>

也可以指定版本號

scrapyd-deploy -p <項目名稱> --version <版本號>

遠端部署

1 購買linux系統(tǒng)服務(wù)器

2 在終端上登錄服務(wù)器

3 配置項目運行環(huán)境

配置python環(huán)境(ubuntu自帶python3環(huán)境))

安裝pip3:sudo apt install python3-pip

安裝scrapy:pip3 install scrapy -i https://pypi.douban.com/simple/

4 修改scrapyd的配置文件,允許外網(wǎng)訪問

查找配置文件的路徑:find -name default_scrapyd.conf

修改配置文件: sudo vim 路徑

ind_address = 0.0.0.0

5 要去服務(wù)器安全組配置

進入服務(wù)安全組選項添加安全組

添加成功后孵坚,點擊修改規(guī)則粮宛,添加如下信息(配置目的:允許訪問6800端口)

6 最后部署爬蟲項目到服務(wù)器:

首先需要修改scrapyd.egg (項目的配置文件)

7 項目部署

scrapyd-deploy -p <項目名稱>

也可以指定版本號

scrapyd-deploy -p <項目名稱> --version <版本號>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市卖宠,隨后出現(xiàn)的幾起案子巍杈,更是在濱河造成了極大的恐慌,老刑警劉巖扛伍,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筷畦,死亡現(xiàn)場離奇詭異,居然都是意外死亡刺洒,警方通過查閱死者的電腦和手機鳖宾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逆航,“玉大人鼎文,你說我怎么就攤上這事∫蚶” “怎么了拇惋?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長抹剩。 經(jīng)常有香客問我撑帖,道長,這世上最難降的妖魔是什么澳眷? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任胡嘿,我火速辦了婚禮,結(jié)果婚禮上境蔼,老公的妹妹穿的比我還像新娘灶平。我一直安慰自己伺通,他們只是感情好,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布逢享。 她就那樣靜靜地躺著罐监,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瞒爬。 梳的紋絲不亂的頭發(fā)上弓柱,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機與錄音侧但,去河邊找鬼矢空。 笑死,一個胖子當著我的面吹牛禀横,可吹牛的內(nèi)容都是我干的屁药。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼柏锄,長吁一口氣:“原來是場噩夢啊……” “哼酿箭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起趾娃,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤缭嫡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后抬闷,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體妇蛀,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年笤成,在試婚紗的時候發(fā)現(xiàn)自己被綠了评架。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡疹启,死狀恐怖古程,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情喊崖,我是刑警寧澤挣磨,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站荤懂,受9級特大地震影響茁裙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜节仿,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一晤锥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦矾瘾、人聲如沸女轿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛉迹。三九已至,卻和暖如春放妈,著一層夾襖步出監(jiān)牢的瞬間北救,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工芜抒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留珍策,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓宅倒,卻偏偏與公主長得像攘宙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子拐迁,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 之前用scrapy爬取了知乎用戶數(shù)據(jù)模聋,由于數(shù)據(jù)量很大,便考慮采取分布式提升爬取效率唠亚,便有的此文。爬蟲源碼為http...
    最好時刻閱讀 1,823評論 0 0
  • Scrapy_redis在scrapy的基礎(chǔ)上實現(xiàn)了更多持痰,更強大的功能灶搜,具體體現(xiàn)在:reqeust去重,爬蟲持久化...
    Promise_18閱讀 719評論 0 0
  • 背景 部門(東方IC工窍、圖蟲)業(yè)務(wù)驅(qū)動割卖,需要搜集大量圖片資源,做數(shù)據(jù)分析患雏,以及正版圖片維權(quán)鹏溯。前期主要用node做爬蟲...
    字節(jié)跳動技術(shù)團隊閱讀 7,675評論 1 67
  • scrapyd 是運行scrapy爬蟲的服務(wù)程序,它支持以http命令方式發(fā)布、刪除淹仑、啟動丙挽、停止爬蟲程序。而且sc...
    w_50df閱讀 226評論 0 0
  • 本地部署 1.先安裝兩個庫: scrapyd: pip3 install scrapyd是運行scrapy爬蟲的服...
    田小田txt閱讀 1,196評論 0 1