Я использую платформу scrapy для проекта веб-очистки, но не могу понять, как заставить работать собственный обработчик вывода.
У меня есть класс элементов, подобный так:
class Item(scrapy.Item)
ad_type = scrapy.Field()
тогда моя функция разбора выглядит примерно так.У меня есть 2 очищенные строки, которые я добавляю в ad_type.Я хочу, чтобы моя функция выходного процессора присваивала теги, основываясь на том, что извлечено из этих 2 xpath.
def parse(self, response):
l = ItemLoader(item=Item(), selector=listing)
l.add_xpath('ad_type', '(.//div/@class)[1]')
l.add_xpath('ad_type', '(.//div[contains(@class, "brand")]/@class)[1]')
yield l.load_item()
Как мне получить функцию выходного процессора для доступа к 2 очищенным строкам xpath, которые я добавил в ad_type?Документы по Scrapy дают этот пример, но я не могу заставить его работать.
def lowercase_processor(self, values):
for v in values:
yield v.lower()
class MyItemLoader(ItemLoader):
name_in = lowercase_processor