安装scrapyd
pip install scrapyd
pip install scrapyd-client
可能会遇到scrapyd-deploy不是windows下的命令的问题。这是由于环境变量找不到导致的。
在python的安装目录(虚拟环境目录Scrapy)下创建俩同名的bat批处理文件即可: scrapy.bat 和 scrapyd-deploy.bat
在scrapyd-deploy.bat文件中添加一下语句(注意python环境的路径):
@echo off
"D:\myvirtualenv\spider_env\Scripts\python.exe" "D:\myvirtualenv\spider_env\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9
修改scrapy.cfg文件
[settings]
default = sipo_patent.settings
[deploy:test]
url = http://localhost:6800/
project = sipo_patent
cdm打开一个控制台窗口,在虚拟环境下 运行scrapyd服务
scrapyd
cmd再打开一个控制台窗口,再虚拟环境下上传项目
上传项目:
进入scrapy爬虫项目sipo_patent目录
cd sipo_patent
scrapyd-deploy test -p sipo_patent
Packing version 1531106982
Deploying to project "sipo_patent" in http://localhost:6800/addversion.json
Server response (200):
{"node_name": "LAPTOP-CMT1I0CL", "status": "ok", "project": "sipo_patent", "version": "1531106982", "spiders": 1}
说明上传成功!
运行爬虫
curl http://localhost:6800/schedule.json -d project=sipo_patent -d spider=sipo
这时候浏览器Jobs 和 Logs 会产生记录了
Project Spider Job PID Start Runtime Finish Log
Pending
Running
Finished
sipo_patent sipo efda2454832811e8ae177c7635f4212a 2018-07-09 11:34:09 0:01:18 2018-07-09 11:35:27 Log
并且控制台会看到运行的爬虫,正在爬取数据
结束爬虫
curl http://localhost:6800/cancel.json -d project=sipo_patent -d job=efda2454832811e8ae177c7635f4212a
{"node_name": "LAPTOP-CMT1I0CL", "status": "ok", "prevstate": "running"}