我想将这个类传递给易碎的Itemloader。
我知道这堂课错了,但是怎么办呢?
class DummyItem(scrapy.Item):
def __init__(self, num):
self.num = num
super(DummyItem, self).__init__()
self.num = scrapy.Field()
最佳答案
您需要在Spider中导入ItemLoader
和DummyItem
项目,然后使用您的项目类初始化项目加载器。
from scrapy.loader import ItemLoader
from myproject.items import DummyItem
def parse(self, response):
l = ItemLoader(item=DummyItem(), response=response)
l.add_xpath('num', '//div[@class="product_num"]')
return l.load_item()
如果要声明自己的
ItemLoader
,则可以按以下方式指定default_item_class
:class DummyItemLoader(ItemLoader):
default_item_class = DummyItem
关于python - 如何动态定义拼凑项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55692136/