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是按照路径
将当前项目的一级目录TotalSpider目录添加到python可以识别目录中
2
不用管,多提交几次,直到你的egg文件夹中有项目即可。然后重启服务,就可以去开启爬虫。
这是因为在用scrapyd启动爬虫是,会向爬虫类中传入一个关键字参数
{‘_job’: ‘14241fc2c93d11e7b7be000c29464af7’}
在启动的时候生成有一个jobid的,而传进去的就是这个
爬虫类添加
在spider的__init__(self,XXX)方法中添加**kwargs,改完为__init__(self,XX,**kwargs)
另外,需添加str函数,否则
2
另外,需添加str函数,否则
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”
相关文章推荐
- 【EDAS问题】轻量级EDAS部署hsf服务出现找不到类的解决方案
- ClickOnce部署出现 系统必备的安装位置未设置为组件供应商的网站,无法在磁盘上找到 dotNetFx40LP_Client_x86_x64cs.exe 问题的解决方案
- 错误:VS部署解决方案时,出现ID已存在的问题。
- Oracle 部署系统出现问题的解决方案
- ClickOnce部署出现 无法在磁盘上找到 dotNetFx40LP_Client_x86_x64cs.exe 问题的解决方案
- PSI部署出现重定向次数过多问题的解决方案
- [转]ClickOnce部署出现 系统必备的安装位置未设置为组件供应商的网站,无法在磁盘上找到 dotNetFx40LP_Client_x86_x64cs.exe 问题的解决方案
- AB 压测的部署与使用指南,还有出现的问题与解决方案
- 在win2003上IIS部署可能出现的问题的解决方案
- 记录ionic中出现的问题以及解决方案
- Android中jar包封装及调用中出现的问题及解决方案
- 针对VMware View 5.1 虚拟桌面出现 user profile service 问题的深度分析及解决方案
- maven项目出现build问题的解决方案
- EasyDarwin在做拉模式转发海康RTSP摄像机视频流的过程中出现花屏问题的解决方案
- EXCEL 部署安装出现的问题
- SVN使用出现的问题及解决方案
- tomcat部署war包步骤及出现的问题和解决方法
- Origin作图出现锯齿状以及出现大C字母问题解决方案
- tomcat 下部署的应用出现ava.lang.OutOfMemoryError: unable to create new native thread ,解决方案。
- 在myeclipse7.0上部署openkm代码出现问题