【发布时间】:2018-11-19 23:39:35
【问题描述】:
我正在将 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()
如何让我的输出处理器函数访问我添加到 ad_type 的 2 个 xpath 抓取字符串? scrapy 文档给出了这个例子,但我无法让它工作。
def lowercase_processor(self, values):
for v in values:
yield v.lower()
class MyItemLoader(ItemLoader):
name_in = lowercase_processor
【问题讨论】: