仅当使用xpath

时间:2019-07-16 14:35:04

标签: python xpath web-scraping scrapy

我正在尝试从以下网站https://www.rawson.co.za抓取信息

但是,有时信息会改变位置。 我正在努力仅检查“建筑物尺寸”并将其存储为尺寸,因为div类如下所示:

<div class="features__item">
            <div class="features__icon icon-house" aria-hidden="true"></div>
        <div class="features__label">Building Size 130m²</div>
</div>

我能够提取出该信息,但有时由于该属性没有信息或其他信息而需要其他信息。

这是我现在想要的大小(我正在从子页面/属性页面访问信息):

size = response.xpath("//div[@class='features']/div[@class='features__list']/div[@class='row']/div[@class='col col--1-2'][2]/div[@class='features__item'][1]/div[@class='features__label']/text()").re(r'\d+')[0]

我要输入的是建筑物大小信息(仅数字)(如果存在),如果没有可用的建筑物大小,则输入None。我在div类中的文字部分苦苦挣扎。我试图构造一个for循环,该循环将检查它是否包含“ Building Size”,但尚未执行任何操作。任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:2)

简单:

size = response.xpath("//div[@class='features__label'][contains(., 'Building Size')]/text()").re_first(r'\d+')