使用scrapy

时间:2017-07-13 19:47:40

标签: python scrapy

当itemloader中指定的xpath没有返回任何值时,我需要返回默认值。这是我的一点蜘蛛。我使用了非常基本的itemloader版本:

il = ItemLoader(item = HomesItem(), response=response)
il.add_xpath('Company_Name', u'//*[@id="anchor_realtorOutline"]/div[1]/table/tbody/tr/th[contains(text(), "会社名")]/following-sibling::td/p[1]/ruby/text()')

因此,如果此xpath没有返回值,那么我想存储N/A来代替它。 有点像我们在这里做的: .extract_first(default="N/A") 我需要使用itemloader连接同一个字段的几个xpath。 对不起,如果这很傻,我还不是很擅长scrapy。 感谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试添加xpath,然后检查是否设置了该字段,然后在字段为空的情况下添加默认值。就像这里:

il = ItemLoader(item = HomesItem(), response=response)
il.add_xpath('Company_Name', u'...')
if not il.get_output_value('Company_Name'):
    il.add_value('Company_Name', 'N/A')