scrapy中无法调用自定义函数的问题

2021-11-27  本文已影响0人  奈斯凸米特

问题:在scrapy中无法调用自己定义的静态方法等

如:

def parse(self, response):
    self.my_func()

@staticmethod
def my_func()
    pass
    yield xxx

这里的my_func方法就无法被调用

原因: scrapy里的yield只支持传递Request对象,item等
改进:使用return即可,或者自己在spider外部封装一些方法,在spider中调用

如:

def parse(self, response):
    self.my_func()
    # spider里调用外部方法
    xxx().my_func()

@staticmethod
def my_func()
    pass
    return xxx

或者外部封装一些功能

class XXX(object):
    def my_func():
        pass
上一篇下一篇

猜你喜欢

热点阅读