如何解决覆盖Scrapy中的serialize_field方法
我正在使用Scrapy文档中的代码,并创建了“产品”类项
from scrapy.exporter import XmlItemExporter
class ProductXmlExporter(XmlItemExporter):
def serialize_field(self,field,name,value):
if field == 'price':
return f'$ {str(value)}'
return super(Product,self).serialize_field(field,value)
始终从命令行获取错误
返回超级(产品,自身).serialize_field(字段,名称,值)
TypeError:super(Product,obj):obj必须是类型的实例或子类型
我对Python还是陌生的,因此不胜感激,并且对“ super”函数进行了一些研究,但在此示例中仍然不了解如何在代码中连接此类。
解决方法
不熟悉scrapy,但是Product类与ProductXmlExporter有何关系? super关键字不接受无关的类,因此假设您要调用XmlItemExporter的return super(XmlItemExporter,self).serialize_field(field,name,value)
方法,则您的调用实际上应该是serialize_field
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。