无法调用Scrapy spider_opened

时间:2018-05-29 00:16:50

标签: python scrapy scrapy-spider

我需要检查蜘蛛打开时文件是否被锁定。我无法发出信号。这是我到目前为止的代码:

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()

我收到以下错误:

TypeError: from_crawler() takes at least 2 arguments (1 given)

关于如何让它发挥作用的任何想法?

1 个答案:

答案 0 :(得分:0)

静态方法不接收类作为第一个参数,实际上没有提供额外的参数。删除export const serverMessage = (state) => state.echo.message; ,它应该更正错误。

cls

<强>更新

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

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