我想将此类传递给草率的Itemloader。 我知道这堂课错了,但是怎么办呢?
class DummyItem(scrapy.Item):
def __init__(self, num):
self.num = num
super(DummyItem, self).__init__()
self.num = scrapy.Field()
答案 0 :(得分:0)
您需要在蜘蛛中导入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