Ⅰ、首先要搞清楚几个概念
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,后面步骤还需要)
2、配置
①配置scrapy项目
打开scrapy项目,有个scrapy.cfg文件,按如下进行配置
②上传scrapy项目
将你的scrapy-deploy文件复制到与scrapy.cfg文件同一目录,scrapy-deploy文件位于你python环境下的scripts文件夹中
然后在cmd中进入你的scrapy项目目录 注意: 一定是scrapy项目目录
输入: scrapyd-deploy –l
说明已经扫描到项目,接下来就是编译项目
scrapy项目根目录下运行scrapyd-deploy 部署名 -p 项目名,将项目上传至scrapyd服务器 (注意: 必须是scrapy项目根目录)
编译完成后就是上传了,上传输入下面代码(默认为启动状态)
curl http://localhost:6800/schedule.json -d project=souhu -d spider=souhuspider3
③、在server(http://localhost:6800/)进行检查,在jobs出现列表则表示上传成功
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)
如果出现下面可视化界面,表示安装成功
注意:如果出现6801端口无法连接,这个是因为你没有配置集群环境,不用担心
2、配置: 配置文件在你当前启动scrapydweb路径下,scrapydweb_settings_v10.py,只有两处需要配置。
①第一处就是username和password,如果是远程的服务器的话,建议开启认证
②第二处是项目路径 : SCRAPY_PROJECTS_DIR
这里是scrapydweb比较方便的地方,不用事先将项目先上传到scrapyd服务器,scrapydweb能够帮我们上传)
3、 配置scrapyd服务器节点 (我是注释了最后一行)
有三种方式
1、 127.0.0.1:6800, 直接指定url:port
2、 username:password@localhost:6801#group, group是一个组名, 也就是可以把scrapyd自动划分成组
3、 ('username', 'password', 'localhost', '6801', 'group)
4、 指定scrapyd的logs文件路径
LOCAL_SCRAPYD_LOGS_DIR = '' # 指定scrapyd的logs文件路径
ENABLE_LOGPARSER = False # 不自动启用logparser
3、重启并开始管理
① 重启 (scrapydweb_settings_v10.py 文件修改后一定要重启,否则不生效)
scrapydweb