问题:在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
网友评论