国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

spiderkeeper 部署&操作

Neilyo / 995人閱讀

摘要:前言最近發現了一個的庫這個庫的主要用途是在于配合這管理你的爬蟲支持一鍵式部署定時采集任務啟動暫停等一系列的操作簡單來說將的進行封裝最大限度減少你跟命令行交互次數不得說這個是很棒的事情的連接環境配置由于是基于以上的版本兼容性較好所以我們需要的

前言

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

https://github.com/DormyMo/Sp...  SpiderKeeper的github連接
環境配置

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

python3.4+

scrapyd

scrapy & scrapy相關的庫

scrapy_reids 如果缺少這個在部署任務會報錯 (Reids.KeyErroe:"xxx"), xxx我們部署的任務.

SpiderKeeper `pip install spiderkeeper" 就可以安裝.

啟動&配置

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

單臺服務器

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

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

sudo spiderkeeper --server=http://localhost:6800 --server=http://111.111.111.111:6800 
 #啟動一個spiderkeeper可以同時部署兩臺服務器的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 默認全部人可以訪問
    parser.add_option("--port",
                      help="port, default:5000", 
                      dest="port",
                      type="int",
                      default=5000)#默認端口號5000 可以根據你的需求設計
    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將你的文件部署到你本地的服務器上面,你本地的scrapyd獲得相應的 .egg文件.

python C:UsersdengyiAppDataLocalProgramsPythonPython36Scriptsscrapyd-deploy cqvip -p Cqvip

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

Deploy 部署,建立任務的第一步計入Deploy創建一個新的工程我們起名為test.

將我們的本地的egg文件上傳到到Deploy.

如果你是多臺服務器的話那么這一步便將你所有scrpayd上,部署Wangfang文件.

Dashboard 是儀表盤在這里你可以啟動你的spider跟監控spider的運行狀態.

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41382.html

相關文章

  • Scrapy-Cluster結合Spiderkeeper管理分布式爬蟲

    摘要:分布式爬蟲,分發網址是基于地址。注意要使用管理同一個集群,爬蟲項目名稱須一致,同時集群中配置相同任務瀏覽器訪問啟動爬蟲時即可看見兩個集群配置,啟動同名爬蟲開始分布式爬蟲啟動分布式爬蟲后狀態 Scrapy-cluster 建設 基于Scrapy-cluster庫的kafka-monitor可以實現分布式爬蟲 Scrapyd+Spiderkeeper實現爬蟲的可視化管理 環境 IP...

    bingo 評論0 收藏0
  • scrapyd部署爬蟲項目到LINUX服務器

    摘要:,首先把爬蟲項目上傳到服務器我的服務器架設在公司內網里。部署名會在后面的部署項目環節用到。新項目創建創建完成。,部署項目的文件想要爬蟲程序真正進行抓取起來,還有一步。選擇文件,部署文件至此,部署爬蟲項目就結束了。 1,首先把scrapy爬蟲項目上傳到服務器 我的服務器架設在公司內網里。所以在這里使用WinSCP作為上傳工具。showImg(https://segmentfault....

    cppowboy 評論0 收藏0
  • 基于Celery的分布式爬蟲管理平臺: Crawlab

    摘要:基于的爬蟲分布式爬蟲管理平臺,支持多種編程語言以及多種爬蟲框架。后臺程序會自動發現這些爬蟲項目并儲存到數據庫中。每一個節點需要啟動應用來支持爬蟲部署。任務將以環境變量的形式存在于爬蟲任務運行的進程中,并以此來關聯抓取數據。 Crawlab 基于Celery的爬蟲分布式爬蟲管理平臺,支持多種編程語言以及多種爬蟲框架。 Github: https://github.com/tikazyq/...

    legendaryedu 評論0 收藏0
  • 利用Python實現自動化監控文件夾完成服務部署

      小編寫這篇文章的一個主要目的,主要是來給大家做一個介紹,介紹的內容是關于Python的,比如說,利用Python實現自動化監控文件,并把這些文件部署在服務器上面,具體的部署過程,下面給大家做個解答。  大家好,我是安果!  最近在部署前端項目的時候,需要先將前端項目壓縮包通過堡壘機上傳到應用服務器的/tmp目錄下,然后進入應用服務器中,使用mv命令將壓縮文件移動到Nginx項目設定目錄,最后使...

    89542767 評論0 收藏0
  • Gitlab CI/CD執行流程

    一、什么是CI/CDCI 持續集成CD 持續交付CI/CD就是在開發階段,通過自動化發布,來頻繁部署應用的一種方式二、為什么要配置CI/CD想象一下,一個項目的發布如果手動部署,需要的操作有:單元測試打包文件上傳服務器等等如果每個過程都需要手動執行,每次都要保證不出錯,這個已經很繁瑣了。而現在大的前端項目多達10+的人開發,而且人員流動大。如果每個人都這么發布,快速迭代就容易出錯。這時候就需要CI...

    社區管理員 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<