Ⅰ、首先要搞清楚几个概念


1、scrapy是什么?


一个爬虫框架,你可以创建一个scrapy项目


2、scrapyd是什么?


相当于一个组件,能够将scrapy项目进行远程部署,调度使用等, 因此scrapyd可以看作一个cs(client-server)程序,因此毫无疑问我们需要安装和配置scrapyd(server) 和连接的scrapy-client(client)


3、scrapydweb是什么?


是一个基于scrapyd的可视化组件,集成并且提供更多可视化功能和更优美的界面

总结:三者如同葫芦套娃,总共三层


II、安装scrapy和创建一个scrapy项目


参照:​​Scrapy简单上手 —— 安装与流程 - fengf23 ​


III、安装scrapyd和scrapyd-client和配置

1、安装


pip install scrapyd
pip install scrapy-client


安装完成后,在cmd中启动命令


scrapyd (我的系统是windows, 我只有在项目的根路径下启动这个名称, 才能部署我的scrapy 项目, 但是有人说在任意都可以, 我这个测试了,

我任意路径会出问题)


在浏览器中输入:​​http://localhost:6800/​​,如果出现下面界面则表示启动成功(不要关闭cmd,后面步骤还需要)

scrapyd 和 scrapydweb 的配置_爬虫

2、配置

①配置scrapy项目

打开scrapy项目,有个scrapy.cfg文件,按如下进行配置

scrapyd 和 scrapydweb 的配置_上传_02

②上传scrapy项目

将你的scrapy-deploy文件复制到与scrapy.cfg文件同一目录,scrapy-deploy文件位于你python环境下的scripts文件夹中

然后在cmd中进入你的scrapy项目目录   注意: 一定是scrapy项目目录


输入: scrapyd-deploy –l


scrapyd 和 scrapydweb 的配置_java_03

说明已经扫描到项目,接下来就是编译项目


scrapy项目根目录下运行scrapyd-deploy 部署名 -p 项目名,将项目上传至scrapyd服务器  (注意: 必须是scrapy项目根目录)


scrapyd 和 scrapydweb 的配置_爬虫_04

编译完成后就是上传了,上传输入下面代码(默认为启动状态)


curl http://localhost:6800/schedule.json -d project=souhu -d spider=souhuspider3


scrapyd 和 scrapydweb 的配置_上传_05

③、在server(http://localhost:6800/)进行检查,在jobs出现列表则表示上传成功

scrapyd 和 scrapydweb 的配置_服务器_06

scrapyd 和 scrapydweb 的配置_爬虫_07


windows 的 scrapyd在我的另外一个文章中,有更详细的解释, 都是踩坑踩得:

IV、安装scrapydweb


(开源地址:​​https://github.com/my8100/files/blob/master/scrapydweb/README_CN.md​​)


1、安装


pip install scrapydweb

pip install logparser

pip install pywin32 (针对windows)


运行(前提是scrapyd服务器必须处于运行状态)


scrapyweb  必须在你生成的配置路径下启动

(这个是你生成的配置文件 scrapydweb_settings_v10.py)


如果出现下面可视化界面,表示安装成功

scrapyd 和 scrapydweb 的配置_爬虫_08

注意:如果出现6801端口无法连接,这个是因为你没有配置集群环境,不用担心

scrapyd 和 scrapydweb 的配置_上传_09

2、配置:   配置文件在你当前启动scrapydweb路径下,scrapydweb_settings_v10.py,只有两处需要配置。


①第一处就是username和password,如果是远程的服务器的话,建议开启认证


scrapyd 和 scrapydweb 的配置_python_10


②第二处是项目路径 : SCRAPY_PROJECTS_DIR

这里是scrapydweb比较方便的地方,不用事先将项目先上传到scrapyd服务器,scrapydweb能够帮我们上传)


scrapyd 和 scrapydweb 的配置_上传_11


3、 配置scrapyd服务器节点 (我是注释了最后一行)


有三种方式

1、 127.0.0.1:6800, 直接指定url:port
2、 username:password@localhost:6801#group, group是一个组名, 也就是可以把scrapyd自动划分成组
3、 ('username', 'password', 'localhost', '6801', 'group)

scrapyd 和 scrapydweb 的配置_上传_12


4、 指定scrapyd的logs文件路径


LOCAL_SCRAPYD_LOGS_DIR = '' # 指定scrapyd的logs文件路径
ENABLE_LOGPARSER = False # 不自动启用logparser

scrapyd 和 scrapydweb 的配置_上传_13

3、重启并开始管理

① 重启 (scrapydweb_settings_v10.py 文件修改后一定要重启,否则不生效)

scrapydweb

② 开始可视化管理

scrapyd 和 scrapydweb 的配置_python_14



V、 修改scrapyd 的配置文件 

scrapyd 和 scrapydweb 的配置_服务器_15

scrapyd 和 scrapydweb 的配置_爬虫_16

VI、 修改 logparser的配置文件

scrapyd 和 scrapydweb 的配置_上传_17

scrapyd 和 scrapydweb 的配置_爬虫_18