笔记-爬虫部署及运行工具-scrapydweb

 

scrapyd是爬虫部署工具,但它的ui比较简单,使用不是很方便。

scrapydweb以scrapyd为基础,增加了ui界面和监控,使用非常方便。

 

2.      部署-scrapyd

使用scrapyd部署。

注意:在windows下无法部署,因为不能执行scrapyd-deploy命令。

 

2.1.    部署

第一步:修改scrapy.cfg为下列样式:

# Automatically created by: scrapy startproject

#

# For more information about the [deploy] section see:

# https://scrapyd.readthedocs.io/en/latest/deploy.html

 

[settings]

default = sctest.settings

 

[deploy:sctestd]

url = http://ip:6800/

project = sctestp

 

 

第二步:进入目录,进行部署

注意一定要进入scrapy.cfg所在的目录

scrapyd-deploy sctestd -p sctestp

 

[root@soft sctest]# scrapyd-deploy sctestd -p sctestp

Packing version 1560213774

Deploying to project "sctestp" in http://ip:6800/addversion.json

Server response (200):

{"node_name": "soft", "status": "ok", "project": "sctestp", "version": "1560213774", "spiders": 1}

部署完成

这时在scrapyd的页面中可以看到project

http://ip:6800/listprojects.json

 

第三步:执行

curl http://ip:6800/schedule.json -d project=sctestp -d spider=scspider

 

3.      scrapydweb

3.1.    安装

git clone https://github.com/my8100/scrapydweb.git

cd scrapydweb

python setup.py install

因为没有setuptools 40.6.3,安装失败。

pip install –upgrade setuptools

重新安装成功

 

3.2.    配置及运行

1、请先确保所有主机都已经安装和启动 Scrapyd,如果需要远程访问 Scrapyd,则需将 Scrapyd 配置文件中的 bind_address 修改为 bind_address = 0.0.0.0,然后重启 Scrapyd。

2、开发主机或任一台主机安装 ScrapydWeb: pip install scrapydweb

3、运行命令 scrapydweb -h,将在当前工作目录生成配置文件 scrapydweb_settings.py,可用于下文的自定义配置。

4、启用 HTTP 基本认证,用于scrapydweb登录:

ENABLE_AUTH = True

USERNAME = 'user_root'

PASSWORD = 'password'

 

5、声明scrapyd_server,支持多种格式,详见文档。

SCRAPYD_SERVERS = [

    'ip:6800',

    # 'username:password@localhost:6801#group',

    ('username', 'password', 'localhost', '6801', 'group'),

]

 

3.3.    运行

scrapydweb

 

3.4.    问题

如果scrapyd server是本机,则scrapydweb默认会直接读取scrapyd日志而不是发起请求,需要设置日志路径。