2017-11-11 151 views
0

我有这样的代码:Scrapy XPath来获取基于与文本标记文字容器

<div class="col-md-12"> 
    <strong>Ingredients:</strong> TOMATOES (TOMATOES AND FIRE ROASTED TOMATOES, TOMATO JUICE, CITRIC ACID, CALCIUM CHLORIDE), WHITE WINE VINEGAR, CARROTS. <span style="font-style:italic">Date Available</span>: 07/14/2017&nbsp;&nbsp; <span style="font-style:italic">Date Last Updated by Company</span>: 07/14/2017 
</div> 

我正在寻找,提取是一个使用Scrapy使用XPath配料表。唯一识别结构是一个包含

<strong>Ingredients:</strong> 

但我不知道如何提取基于这些规则的成分。

回答

2

你正在寻找可以认定为直接下面兄弟strong元素,转化为下面的XPath表达式的文本:

query = "//div/strong[.='Ingredients:']/following-sibling::text()[1]" 

没有谓语[1]的查询将返回“可用日期”和“最后更新日期”。

+0

完美。谢谢。 – Veign

0

如果有帮助请尝试。

response.xpath('//strong[.="Ingredients:"]/following-sibling::text()').extract()