今天尝试在windows中使用scrapyd+gerapy部署爬虫
首先需要部署scrapyd完成部署
先安装以下两个包:
- scrapyd服务:
pip install scrapyd
- scrapyd客户端:
pip install scrapyd-client
然后就可以在scrapy项目的路径下使用scrapyd
命令启动scrapyd的监控界面。
再编辑scrapy项目根目录下的scrapy.cfg文件如下:
[settings]
default = JD.settings
# :号后自定义部署名
[deploy:JD_book]
# scrapyd运行的服务器地址,此处为本地的6800端口
url = http://localhost:6800/
# 项目名
project = JD
实际使用时需要把#号的注释全部删除。
配置完成后就可以部署爬虫应用了
使用命令:scrapyd-deploy 部署名(配置文件中设置的名称) -p 项目名称
即可,对应的我的命令为:scrapyd-deploy JD_book -p JD
但此时出现了报错:
'scrapyd-deploy' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
解决办法如下:
在python安装目录的scripts目录中,添加scrapyd-deploy.bat
文件,内容包含你的python.exe路径和scripts目录中的scrapyd-deploy路径,我的编辑内容如下:
@echo off
"C:\Users\woyue\AppData\Local\Programs\Python\Python36\python.exe" "C:\Users\woyue\AppData\Local\Programs\Python\Python36\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9
如果你也有相同问题,只需将如上中的两个路径替换为你本机中的路径即可解决。
重新运行scrapyd-deploy -h
命令检查,发现已经可以顺利运行了。
然后使用gerapy部署
使用gerapy部署更加便于操作和管理,不需要使用curl命令或者requests模块请求API接口来启动或暂停爬虫程序。
部署gerapy方法如下:
- 安装:
pip install gerapy
- 安装:
- 执行
gerapy init
命令,在指定目录中初始化gerapy项目文件夹
- 执行
- 进入生成的gerapy/projects目录下,执行
gerapy migrate
命令,完成数据库迁移,使用的是SQLite数据库。
- 进入生成的gerapy/projects目录下,执行
- 执行
gerapy runserver
命令,启动gerapy服务,默认将在
127.0.0.1:8000端口运行主机管理和界面管理服务,在浏览器中访问该端口即可。
image.png
- 执行
- 点击create添加新的scrapyd主机

- 添加scrapyd成功后,点击Clients中调度-运行即可直接俄运行爬虫程序,你可以点击多次run运行多个分布式爬虫实例
图为正在gerapy上运行的爬虫程序:
- 添加scrapyd成功后,点击Clients中调度-运行即可直接俄运行爬虫程序,你可以点击多次run运行多个分布式爬虫实例

- 项目管理
直接将爬虫的scrapy项目文件夹拷贝到之前创建的gerapy/projects目录中,然后进入项目管理界面,即可看到已经显示了此项目文件。点击部署-添加描述-打包即可直接完成打包和部署。管理多个远程爬虫项目十分方便。
- 项目管理
网友评论