首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法调用Scrapy spider_opened

无法调用Scrapy spider_opened
EN

Stack Overflow用户
提问于 2018-05-29 08:16:50
回答 1查看 228关注 0票数 -1

当我的爬行器打开时,我需要检查文件是否被锁定。我收不到开火的信号。到目前为止,我的代码如下:

代码语言:javascript
复制
from scrapy import signals

class MySpider(Spider):

    @staticmethod
    def from_crawler(cls, crawler, *args, **kwargs):

        spider = MySpider.from_crawler(crawler, *args, **kwargs)
        crawler.signals.connect(spider.spider_opened, signal=signals.spider_opened)
        return spider

    def spider_opened(self):
        if lockFile(self.name + ".lock"):
        sys.exit()

我得到以下错误:

代码语言:javascript
复制
TypeError: from_crawler() takes at least 2 arguments (1 given)

你有什么建议吗?我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-29 08:20:19

静态方法不接收类作为第一个参数,实际上没有提供额外的参数。删除cls,它应该会纠正这个错误。

代码语言:javascript
复制
@staticmethod
def from_crawler(crawler, *args, **kwargs):
    ....

更新

from_crawler()应该是类方法,而不是静态方法:

代码语言:javascript
复制
@classmethod
def from_crawler(cls, crawler, *args, **kwargs):
    ....
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50574738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档