当我的爬行器打开时,我需要检查文件是否被锁定。我收不到开火的信号。到目前为止,我的代码如下:
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)
你有什么建议吗?我该怎么做呢?
发布于 2018-05-29 08:20:19
静态方法不接收类作为第一个参数,实际上没有提供额外的参数。删除cls
,它应该会纠正这个错误。
@staticmethod
def from_crawler(crawler, *args, **kwargs):
....
更新
from_crawler()
应该是类方法,而不是静态方法:
@classmethod
def from_crawler(cls, crawler, *args, **kwargs):
....
https://stackoverflow.com/questions/50574738
复制相似问题