python - 如何使用 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 实例。
解决方案
你可以使用
soup.find('span', class_ = 'notranslate').string
而不是一个接一个地穿过div>span>span
树。
这会给你' £899.89'
,你可以随意格式化它。
推荐阅读
- python - Apache Airflow - 如何使用不同的 venv 运行多个 python 文件
- json - 从哪里开始 Flutter 后端开发?
- javascript - React/Jest - 有没有办法在渲染之前等待模拟解决
- javascript - 如何将纹理像素应用于点云?
- flutter - 如何使轮播像在堆叠的卡片上滑动一样?
- reactjs - 反应组件上的两个 onClick 函数不会启动
- java - 生日前的天数计算不正确(Java)
- linux - 有没有人在 HPC 上通过 SBATCH 设置成功地在 bash 中使用 shopt -s extglob(扩展通配符)?
- java - Android getAdapterPosition 总是返回 getItemCount
- c++ - 如何在 C++ 中按名称检索 Cocoa 枚举值?