spiderkeeper 部署&操作

环境配置

由于 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()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 最近发现了一个spdierkeeper的库,这个库的主要用途是在于.配合这scrpyd管理你的爬虫,支持一键...
    VictorChi阅读 9,199评论 8 4
  • Scrapy爬虫教程一 Windows下安装Scrapy的方式和问题总结 Scrapy爬虫教程二 浅析最烦人的反爬...
    熊熊熊孩子阅读 5,133评论 0 8
  • 为什么要用Scrapyd?Scrapyd是scrapinghub官方提供的爬虫管理、部署、监控的方案之一,另一个是...
    EricTian阅读 17,232评论 16 15
  • 周日,晴暖,羽毛球开始第三期== 钱钱钱— 这周按说过的蛮快的,周三元旦放假,有一个日方人员回国一周,没有会议,整...
    蘑菇菌阅读 230评论 0 1
  • 有一个叫“木桶理论”的东西曾经大行其道,现在也偶尔能听到有人提起它。该理论告诉我们 一只木桶能盛多少水,并不取决于...
    伍国华阅读 7,710评论 1 7