spiderkeeper 部署&操作

前言

最近發(fā)現(xiàn)了一個spdierkeeper的庫,這個庫的主要用途是在于.配合這scrpyd管理你的爬蟲,支持一鍵式部署,定時采集任務(wù),啟動,暫停等一系列的操作.
簡單來說將scrapyd的api進(jìn)行封裝,最大限度減少你跟命令行交互次數(shù).不得說這個是很棒的事情.

https://github.com/DormyMo/SpiderKeeper SpiderKeeper的github連接

環(huán)境配置

由于 scrapyd是基于python3+以上的版本兼容性較好,所以我們需要的環(huán)境為

  • python3.4+
  • scrapyd
  • scrapy & scrapy相關(guān)的庫
  • scrapy_reids 如果缺少這個在部署任務(wù)會報錯 (Reids.KeyErroe:'xxx'), xxx我們部署的任務(wù).
  • SpiderKeeper `pip install spiderkeeper' 就可以安裝.
啟動&配置

安裝完成之后,便可以啟動服務(wù)器了.博主本人使用的是ubuntu,所以就以ubuntu為例,win&macos進(jìn)本一樣.

單臺服務(wù)器

sudo spiderkeeper   
# 啟動單臺服務(wù)器,默認(rèn)啟動本地的 http://localhost:6800 scrapyd的服務(wù) | spiderkeeper的默認(rèn)端口為5000.

連接多臺scrapyd服務(wù)器.
在分布式中我們的服務(wù)器中肯定不止一臺,使用spiderkeeper可以很好的解決這個問題

sudo spiderkeeper --server=http://localhost:6800 --server=http://111.111.111.111:6800 
 #啟動一個spiderkeeper可以同時部署兩臺服務(wù)器的spider
更改用戶名&密碼&更改端口號

config.py 更改用戶名&密碼

# Statement for enabling the development environment
import os

DEBUG = True

# Define the application directory


BASE_DIR = os.path.abspath(os.path.dirname(__file__))

SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(os.path.abspath('.'), 'SpiderKeeper.db')
SQLALCHEMY_TRACK_MODIFICATIONS = False
DATABASE_CONNECT_OPTIONS = {}

# Application threads. A common general assumption is
# using 2 per available processor cores - to handle
# incoming requests using one and performing background
# operations using the other.
THREADS_PER_PAGE = 2

# Enable protection agains *Cross-site Request Forgery (CSRF)*
CSRF_ENABLED = True

# Use a secure, unique and absolutely secret key for
# signing the data.
CSRF_SESSION_KEY = "secret"

# Secret key for signing cookies
SECRET_KEY = "secret"

# log
LOG_LEVEL = 'INFO'

# spider services
SERVER_TYPE = 'scrapyd'
SERVERS = ['http://localhost:6800']

# basic auth 這里更改用戶名&密碼
NO_AUTH = False
BASIC_AUTH_USERNAME = 'admin'
BASIC_AUTH_PASSWORD = 'admin'
BASIC_AUTH_FORCE = True

run.py更改端口號

def parse_opts(config):
    parser = OptionParser(usage="%prog [options]",
                          description="Admin ui for spider service")
    parser.add_option("--host",
                      help="host, default:0.0.0.0", 
                      dest='host',
                      default='0.0.0.0')#bind ip 綁定ip 默認(rèn)全部人可以訪問
    parser.add_option("--port",
                      help="port, default:5000", 
                      dest='port',
                      type="int",
                      default=5000)#默認(rèn)端口號5000 可以根據(jù)你的需求設(shè)計
    parser.add_option("--username",
                      help="basic auth username ,default: %s" % config.get('BASIC_AUTH_USERNAME'),
                      dest='username',
                      default=config.get('BASIC_AUTH_USERNAME'))
    parser.add_option("--password",
                      help="basic auth password ,default: %s" % config.get('BASIC_AUTH_PASSWORD'),
                      dest='password',
                      default=config.get('BASIC_AUTH_PASSWORD'))
    parser.add_option("--type",
                      help="access spider server type, default: %s" % config.get('SERVER_TYPE'),
                      dest='server_type',
                      default=config.get('SERVER_TYPE'))
    parser.add_option("--server",
                      help="servers, default: %s" % config.get('SERVERS'),
                      dest='servers',
                      action='append',
                      default=[])
    parser.add_option("--database-url",
                      help='SpiderKeeper metadata database default: %s' % config.get('SQLALCHEMY_DATABASE_URI'),
                      dest='database_url',
                      default=config.get('SQLALCHEMY_DATABASE_URI'))

    parser.add_option("--no-auth",
                      help="disable basic auth",
                      dest='no_auth',
                      action='store_true')
    parser.add_option("-v", "--verbose",
                      help="log level",
                      dest='verbose',
                      action='store_true')
    return parser.parse_args()

部署&運行

啟動scrapyd
使用scrapy-deploy將你的文件部署到你本地的服務(wù)器上面,你本地的scrapyd獲得相應(yīng)的 .egg文件.

python C:\Users\dengyi\AppData\Local\Programs\Python\Python36\Scripts\scrapyd-deploy cqvip -p Cqvip

啟動 spiderkeeper博主這里是啟動了多個,進(jìn)入界面 http://localhost:5000

SpiderKeeper

  • Deploy 部署,建立任務(wù)的第一步計入Deploy創(chuàng)建一個新的工程我們起名為test.
    部署截圖
所上傳的egg
  • 將我們的本地的egg文件上傳到到Deploy.
  • 如果你是多臺服務(wù)器的話那么這一步便將你所有scrpayd上,部署Wangfang文件.
  • Dashboard 是儀表盤在這里你可以啟動你的spider跟監(jiān)控spider的運行狀態(tài).
    這里運行你的spider
選擇你需要的運行的spider跟服務(wù)器

到這里一個完美的spiderkeeper就搭建成功啦.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蚜枢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子斑鼻,更是在濱河造成了極大的恐慌昼扛,老刑警劉巖讯蒲,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異秉版,居然都是意外死亡袒餐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門漾肮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厂抖,“玉大人,你說我怎么就攤上這事克懊〕栏ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵谭溉,是天一觀的道長墙懂。 經(jīng)常有香客問我,道長扮念,這世上最難降的妖魔是什么损搬? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮柜与,結(jié)果婚禮上巧勤,老公的妹妹穿的比我還像新娘。我一直安慰自己弄匕,他們只是感情好颅悉,可當(dāng)我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著迁匠,像睡著了一般剩瓶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上城丧,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天延曙,我揣著相機與錄音,去河邊找鬼芙贫。 笑死搂鲫,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的磺平。 我是一名探鬼主播魂仍,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼拣挪!你這毒婦竟也來了擦酌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤菠劝,失蹤者是張志新(化名)和其女友劉穎赊舶,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡笼平,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年园骆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寓调。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡锌唾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出夺英,到底是詐尸還是另有隱情晌涕,我是刑警寧澤,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布痛悯,位于F島的核電站余黎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏载萌。R本人自食惡果不足惜惧财,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望炒考。 院中可真熱鬧可缚,春花似錦、人聲如沸斋枢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瓤帚。三九已至描姚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間戈次,已是汗流浹背轩勘。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留怯邪,地道東北人绊寻。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像悬秉,于是被迫代替她去往敵國和親澄步。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,871評論 2 354

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