我在scrapy中使用xpath来解析数据,我有一些HTML代码,如下所示。
<tr>
<td>RAM</td><td>4 GB</td>
</tr>
<tr>
<td>RAM Frequency</td><td>1600 MHz</td>
</tr>
我想抓住RAM大小 目前我正在使用语法
for tr in response.xpath(".//tr[contains(.,'RAM')]"):
result=tr.xpath(".//td[contains(.//text(),'RAM')]/following-sibling::td[1]/text()").extract()
但最后我得到1600 MHz而不是4 GB。所以,我的问题是,是否存在类似
的语法for tr in response.xpath(".//tr[contains(.,'RAM') & not(contains(.,'RAM Frequency'))]")
只解析RAM而不是RAM频率。
答案 0 :(得分:2)
是:.//tr[contains(.,'RAM') and not(contains(.,'RAM Frequency'))]