Why does this condition execute to false when it s

2019-09-19 15:54发布

I have this code in my spider basic.py file:

if l.add_xpath('price', '//*[@id="price"]/text()',
            MapCompose(lambda i: i.replace(',', ''), float),
            re = '[,.0-9]'):
    l.add_value('available', 1)
else:
    l.add_value('price', 0)
    l.add_value('available', 0)

The expected result is available = 1 when there is a price found, but what I get is 0 and I don't understand why!

Any ideas?

标签: python scrapy
1条回答
迷人小祖宗
2楼-- · 2019-09-19 16:11

Just in case someone ran into the same situation:

The answer is that add_xpath does not return anything, and in order to check whether there is an element found or not, get_xpath should be used instead (see here).

查看更多
登录 后发表回答