目录
二.在开发电脑(或者爬虫程序发布服务器)安装scrapyd-client
四.在开发电脑(或者爬虫程序发布服务器)发布项目到采集服务器
一.在做采集服务器安装scrapyd
pip install scrapyd
二.在开发电脑(或者爬虫程序发布服务器)安装scrapyd-client
1.打开虚环境
activite.bat
2.安装scrapyd-client
pip install scrapyd-client
三.配置采集服务器的scraypd
1.找到配置文件:
%Python_Home%\Lib\site-packages\scrapyd\default-scrapyd.conf
2.修改相关配置
max_proc = 1
bind_address = 0.0.0.0 # 该配置表示其它机器可以访问该web服务
# 其它配置视情况自行修改
四.在开发电脑(或者爬虫程序发布服务器)发布项目到采集服务器
1.进入项目的根目录(scrapy.cfg所在目录)
2.修改scrapy.cfg配置,如下:
[deploy:test] # 这个test后面发布程序时会用到
url = http://192.168.79.128:6800/
project = testspider # 这个testspider后面发布程序会用到
3.进入虚环境Scripts目录,添加一个scrapyd-deploy.bat文件,内容如下:
@echo off
"C:\Users\test\Envs\scrapySpider\Scripts\python.exe" "C:\Users\test\Envs\scrapySpider\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9
4.在虚环境中,进入项目的根目录,执行如下命令:
scrapyd-deploy
会显示结果:Unknow target: default
5.执行如下命令:
scrapyd-deploy -l
会显示带端口链接的结果
6.显示都有哪些爬虫
scrapy list
7.发布程序到采集服务器,会自动将程序打包成egg(蛋文件),然后上传到服务器
命令格式:scrapyd-deploy.bat target -p project
根据scrapy.cfg配置,命令如下:
scrapyd-deploy test -p testspider
五.访问爬虫web服务
打开http://localhost:6800
查看Available projects后面是否有testspider名称,如果有则部署正常
六.调用采集服务器的爬虫
根据页面提示,执行爬虫:
curl http://192.168.0.10:6800/schedule.json -d project=testspider -d spider=query_list
七.相关说明:
1.错误:
ERROR: Error caught on signal handler: <bound method FeedExporter.item_scraped of <scrapy.extensions.feedexport.FeedExporter object at 0x0000017392DA2F98>>
修改default-scrapyd.conf如下配置,为空即可
items_dir =
2.开发服务器(或者发布服务器)打包成egg文件
scrapyd-deploy.bat --build-egg test.egg
生成egg文件后,可以直接复制到采集服务器的eggs目录下