本文介绍在CentOS7下部署爬虫,稳定运行爬虫,对爬虫提供Web管理。部署工具是Scrapy官方的scrapyd,Web管理程序是开源项目SpiderKeeper,最后用supervisord提供稳定运行。
scrapyd和scrapyd-client
scrapyd安装配置
Scrapyd是一个用来部署和运行Scrapy项目的应用,由Scrapy的开发者开发。其可以通过一个简单的Json API来部署(上传)或者控制你的项目。Scrapyd可以用来管理多个项目,并且每个项目还可以上传多个版本,不过只有最新的版本会被使用。
scrapyd对python2.7不兼容,从源码下载 https://github.com/scrapy/scrapyd.git 安装scrapyd,改下 scrapyd的utils文件get_spider_list方法,加上str():
env['PYTHONIOENCODING'] = 'UTF-8'
env['SCRAPY_PROJECT'] = str(project)
if pythonpath:
env['PYTHONPATH'] = str(pythonpath)
if version:
env['SCRAPY_EGG_VERSION'] = str(version)
再python setup.py install
。对可能的报错处理https://www.jianshu.com/p/e6945ac9c4c8,
另外CentOS 7.2自带的Python2版本比较老,需要更新pip,更新setuptools、cryptography、pyasn1。
通过源码安装的要在包目录下配置scrapyd:
vi /usr/lib/python2.7/site-packages/scrapyd-1.2.0-py2.7.egg/scrapyd/default_scrapyd.conf
# 把jobs_to_keep改道100,否则日志默认留5条
jobs_to_keep = 100
# 修改端口为7300
bind_address = 127.0.0.1
http_port = 7300
此时,在终端scapyd
应该会得到一大段正常日志,不过