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

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” 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值