Scrapy学习-25-Scrapyd部署spider
Scrapyd部署爬虫项目
github项目
https://github.com/scrapy/scrapyd
官方文档
http://scrapyd.readthedocs.org/
安装scrapyd
http://scrapyd.readthedocs.io/en/stable/install.html
运行
# 在虚拟环境中使用scrapd命令 # scrapyd是一个服务器监听在本地的6800端口 scrapyd
安装scrapd客户端
pip install scrapyd-client # 用于项目打包 # python路径的Script目录下发现生成了一个scrapyd-deploy的文件
打包项目到scrapyd中
编辑scrapy.cfg
# 打开scrapyd服务 [deploy:name] url = http://localhost:6800/ project = ArticleSpider
进入爬虫项目目录
cd E:\Python Project\scrapyproject\ArticleSpider
运行scrapyd-deploy文件
# 由于没有后缀不能运行 # 解决办法:新建一个文件scrapd-deploy.bat,写入下面数据 @echo off "E:\Python Project\venvdir\scrapyenv3\Scripts\python.exe" "E:\Python Project\venvdir\scrapyenv3\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9 # 再次执行发现可以使用了 scrapyd-deploy -l # 默认自己读取scrapy.cfg内容 # 如果出现importError问题注意 # import sys # BASE_DIR = os.path.dirname(os.path.abspath(os.path.dirname(__file__))) # sys.path.insert(0, os.path.join(BASE_DIR, 'ArticleSpider')) # 打包spider项目 scrapyd-deploy name -p ArticleSpider # E:\Python Project\venvdir\scrapyenv3\Scripts\eggs\ArticleSpider\xxxx.egg # scrapyd-deploy将项目打包成一个后缀为egg的文件,发送到scrapyd服务器
部署项目
接口认识
http://scrapyd.readthedocs.io/en/stable/api.html
部署命令
curl http://localhost:6800/schedule.json -d project=ArticleSpider -d spider=myspider # 返回 {"status": "ok", "jobid": "6487ec79947edab326d6db28a2d86511e8247444"} # 刷新scrapy管理页面可以发现新的项目
项目管理
参考官方文档