如果有一个页面具有类似的 div block ,但其中一些 block 具有附加 block div,并且我只需要从具有附加 block 的 div 中获取数据。我怎样才能只过滤掉我需要的div block ?
例如,我需要来自 [div class = 'level_33']
的数据,但前提是 [div class = 'level_1']
包含 [div class = 'level_special']
。换句话说,我如何设置这样的条件:“如果数据属于[div class = 'level_1']
,则从[div class = 'level_33']
获取数据包含[div class = 'level_special']
?
<div class = 'level_1'>
<div class = 'level_2'>
<div class = 'level_31'></div>
<div class = 'level_32'></div>
<div class = 'level_33'></div>
<div class = 'level_special'></div>
</div>
</div>
<div class = 'level_1'>
<div class = 'level_2'>
<div class = 'level_31'></div>
<div class = 'level_32'></div>
<div class = 'level_33'></div>
</div>
</div>
最佳答案
尝试以下 XPath。
//div[@class='level_1'][.//div[@class='level_special']]//div[@class='level_33']
或者
//div[@class='level_1'][.//div[@class='level_special'] and .//div[@class='level_33'] ]//div[@class='level_33']
关于python - XPath 或 BeautifulSoup (或其他方式)来选择和解析某个 div block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59409731/