您的位置:首页 > 其它

scapyd部署出现的问题的解决方案

2017-12-28 18:13 281 查看
1. 使用scrapyd-deploy部署时,发现spiders为0的排查,首先用 scrapy list 看一下是否可以识别

2. 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” %*

解决方案二:用python 执行,如下格式

python E:\env\Anaconda2\envs\python2714\Scripts\scrapyd-deploy -p myproject  注:E:\env\Anaconda2\envs\python2714\Scripts是按照路径

.执行 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”))
1
2



3.远程计算机拒绝

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

4.windows下打包失败



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

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



这是因为在用scrapyd启动爬虫是,会向爬虫类中传入一个关键字参数

{‘_job’: ‘14241fc2c93d11e7b7be000c29464af7’}

在启动的时候生成有一个jobid的,而传进去的就是这个



爬虫类添加

在spider的__init__(self,XXX)方法中添加**kwargs,改完为__init__(self,XX,**kwargs)

另外,需添加str函数,否则

def __init__(self,**kwargs):
super(ProductSpider, self).__init__(self, **kwargs)
1
2
另外,需添加str函数,否则

也会报错
def __str__(self):
return “ProductSpider”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐