scrapyd部署爬虫遇到的问题

1.windows下 scrapyd-deploy无后缀文件不能启动:

执行命令pip install scrapy-client,安装完成后,在虚拟环境的scripts中会出现scrapyd-deploy无后缀文件,这个scrapyd-deploy无后缀文件是启动文件,在Linux系统下可以运行,在windows下是不能运行的,所以我们需要编辑一下使其在windows可以运行。

这里写图片描述

新建一个scrapyd-deploy.bat文件,右键选择编辑,输入以下配置,注意:两个路径之间是空格
@echo off
“E:\Envs\py2Scrapy\Scripts\python.exe” “E:\Envs\py2Scrapy\Scripts\scrapyd-deploy” %*

2.执行 scrapy list 命令的时候出现错误

执行 scrapy list 命令的时候很有可能出现错误,如果是python无法找到scrapy项目,需要在scrapy项目里的settings.py配置文件里设置成python可识别路径
将当前项目的一级目录TotalSpider目录添加到python可以识别目录中

BASE_DIR = os.path.dirname(os.path.abspath(os.path.dirname(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, “TotalSpider”))

这里写图片描述

3.远程计算机拒绝

如果错误提示,什么远程计算机拒绝,说明你的scrapy项目有链接远程计算机,如链接数据库或者elasticsearch(搜索引擎)之类的,需要先将链接服务器启动

4.windows下打包失败

这里写图片描述

不用管,多提交几次,直到你的egg文件夹中有项目即可。然后重启服务,就可以去开启爬虫。

5.启动爬虫后出现TypeError‘_job’错误

这里写图片描述

这是因为在用scrapyd启动爬虫是,会向爬虫类中传入一个关键字参数
{‘_job’: ‘14241fc2c93d11e7b7be000c29464af7’}
在启动的时候生成有一个jobid的,而传进去的就是这个
这里写图片描述

爬虫类添加

def __init__(self,**kwargs):
super(ProductSpider, self).__init__(self, **kwargs)

另外,需添加str函数,否则也会报错

def __str__(self):
return “ProductSpider” 

你可能感兴趣的:(服务配置,问题)