首页 > 解决方案 > 如何使用 BeautifulSoup 提取嵌套的 HTML

问题描述

我需要使用 BeautifulSoup 为下面的 HTML 代码提取价格。

<div class="price-original">
  <span class="product-price-amount">
    <span class="notranslate"> £899.89</span>
  </span>
<div>

我无法使用下面的代码,因为网页上有几个价格实例使用相同的 html 语法。

price1 = soup.find('div', class_='price-original').find('span', class_="notranslate").text.strip().replace("£","").replace(",","")
print('Price:', price1)

出于这个原因,我需要一种基于所有 3 个 html 元素进行提取的方法,因为这会产生一个唯一的 HTML 实例。

标签: pythonbeautifulsoupcss-selectorshtml-parsing

解决方案


你可以使用

soup.find('span', class_ = 'notranslate').string

而不是一个接一个地穿过div>span>span树。
这会给你' £899.89',你可以随意格式化它。


推荐阅读