python - XPath 或 BeautifulSoup (或其他方式)来选择和解析某个 div block

标签 python parsing xpath beautifulsoup

如果有一个页面具有类似的 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/

相关文章:

css - 在xslt中获取循环内迭代元素的属性

python - 仅当验证准确性提高时,我如何才能保存/覆盖我的 TensorFlow/Keras 模型?

python - 部署偶尔需要多处理的 Web 应用程序

php - 使用 SimpleXML 加载 XML 不返回某些元素的属性

python 从文件中打印特定行

php - 在 PHP 中解析无效 HTML 的最佳方法

python - Splinter:获取不是唯一元素的 XPATH 文本片段

python - 在 Tensorflow 中查找方法的实现

python - 使用 scipy 高斯核密度估计计算 CDF 逆

xpath - 如何在此tr中选择下一个td?