摘要:前言最近發(fā)現(xiàn)了一個的庫這個庫的主要用途是在于配合這管理你的爬蟲支持一鍵式部署定時采集任務(wù)啟動暫停等一系列的操作簡單來說將的進(jìn)行封裝最大限度減少你跟命令行交互次數(shù)不得說這個是很棒的事情的連接環(huán)境配置由于是基于以上的版本兼容性較好所以我們需要的
最近發(fā)現(xiàn)了一個spdierkeeper的庫,這個庫的主要用途是在于.配合這scrpyd管理你的爬蟲,支持一鍵式部署,定時采集任務(wù),啟動,暫停等一系列的操作.
簡單來說將scrapyd的api進(jìn)行封裝,最大限度減少你跟命令行交互次數(shù).不得說這個是很棒的事情.
https://github.com/DormyMo/Sp... SpiderKeeper的github連接
由于 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:UsersdengyiAppDataLocalProgramsPythonPython36Scriptsscrapyd-deploy cqvip -p Cqvip
啟動 spiderkeeper博主這里是啟動了多個,進(jìn)入界面 http://localhost:5000
Deploy 部署,建立任務(wù)的第一步計入Deploy創(chuàng)建一個新的工程我們起名為test.
將我們的本地的egg文件上傳到到Deploy.
如果你是多臺服務(wù)器的話那么這一步便將你所有scrpayd上,部署Wangfang文件.
Dashboard 是儀表盤在這里你可以啟動你的spider跟監(jiān)控spider的運(yùn)行狀態(tài).
到這里一個完美的spiderkeeper就搭建成功啦.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41382.html
摘要:分布式爬蟲,分發(fā)網(wǎng)址是基于地址。注意要使用管理同一個集群,爬蟲項目名稱須一致,同時集群中配置相同任務(wù)瀏覽器訪問啟動爬蟲時即可看見兩個集群配置,啟動同名爬蟲開始分布式爬蟲啟動分布式爬蟲后狀態(tài) Scrapy-cluster 建設(shè) 基于Scrapy-cluster庫的kafka-monitor可以實現(xiàn)分布式爬蟲 Scrapyd+Spiderkeeper實現(xiàn)爬蟲的可視化管理 環(huán)境 IP...
摘要:,首先把爬蟲項目上傳到服務(wù)器我的服務(wù)器架設(shè)在公司內(nèi)網(wǎng)里。部署名會在后面的部署項目環(huán)節(jié)用到。新項目創(chuàng)建創(chuàng)建完成。,部署項目的文件想要爬蟲程序真正進(jìn)行抓取起來,還有一步。選擇文件,部署文件至此,部署爬蟲項目就結(jié)束了。 1,首先把scrapy爬蟲項目上傳到服務(wù)器 我的服務(wù)器架設(shè)在公司內(nèi)網(wǎng)里。所以在這里使用WinSCP作為上傳工具。showImg(https://segmentfault....
摘要:基于的爬蟲分布式爬蟲管理平臺,支持多種編程語言以及多種爬蟲框架。后臺程序會自動發(fā)現(xiàn)這些爬蟲項目并儲存到數(shù)據(jù)庫中。每一個節(jié)點需要啟動應(yīng)用來支持爬蟲部署。任務(wù)將以環(huán)境變量的形式存在于爬蟲任務(wù)運(yùn)行的進(jìn)程中,并以此來關(guān)聯(lián)抓取數(shù)據(jù)。 Crawlab 基于Celery的爬蟲分布式爬蟲管理平臺,支持多種編程語言以及多種爬蟲框架。 Github: https://github.com/tikazyq/...
小編寫這篇文章的一個主要目的,主要是來給大家做一個介紹,介紹的內(nèi)容是關(guān)于Python的,比如說,利用Python實現(xiàn)自動化監(jiān)控文件,并把這些文件部署在服務(wù)器上面,具體的部署過程,下面給大家做個解答?! 〈蠹液?,我是安果! 最近在部署前端項目的時候,需要先將前端項目壓縮包通過堡壘機(jī)上傳到應(yīng)用服務(wù)器的/tmp目錄下,然后進(jìn)入應(yīng)用服務(wù)器中,使用mv命令將壓縮文件移動到Nginx項目設(shè)定目錄,最后使...
一、什么是CI/CDCI 持續(xù)集成CD 持續(xù)交付CI/CD就是在開發(fā)階段,通過自動化發(fā)布,來頻繁部署應(yīng)用的一種方式二、為什么要配置CI/CD想象一下,一個項目的發(fā)布如果手動部署,需要的操作有:單元測試打包文件上傳服務(wù)器等等如果每個過程都需要手動執(zhí)行,每次都要保證不出錯,這個已經(jīng)很繁瑣了。而現(xiàn)在大的前端項目多達(dá)10+的人開發(fā),而且人員流動大。如果每個人都這么發(fā)布,快速迭代就容易出錯。這時候就需要CI...
閱讀 3488·2021-10-13 09:39
閱讀 1470·2021-10-08 10:05
閱讀 2276·2021-09-26 09:56
閱讀 2291·2021-09-03 10:28
閱讀 2690·2019-08-29 18:37
閱讀 2049·2019-08-29 17:07
閱讀 611·2019-08-29 16:23
閱讀 2200·2019-08-29 11:24