【问题标题】:unwrap in beautiful soup not removing all tags在美丽的汤中打开包装而不去除所有标签
【发布时间】:2016-03-22 14:08:30
【问题描述】:

以下代码提供了如下所示的 HTML 代码:

from urllib.request import urlopen
from bs4 import BeautifulSoup

# open webpage
url = "https://www.google.com/finance?cid=12377955"
pageSource = urlopen(url).read()

# parse HTML into Beautiful Soup
savSoup = BeautifulSoup(pageSource, "html.parser")

# extract data from soup
divData = savSoup.find_all("span", class_= "pr")

print(divData)
---

这会在命令行中返回:

---
[<span class="pr">
<span id="ref_12377955_1">2.13</span>
</span>]

我在 2.13 之后 - 我从这里遵循了许多答案,但我得到的最接近的是仅删除 span 类标签 - 我似乎无法改变 id。

【问题讨论】:

    标签: python html python-3.x web-scraping beautifulsoup


    【解决方案1】:

    由于您要查找单个元素,因此请使用 .find() 而不是 .find_all().get_text() 来获取元素的文本:

    value = savSoup.find("span", class_= "pr").get_text(strip=True)
    

    strip=True 此处有助于删除文本周围多余的换行符和空格。

    然后,您可以使用float(value) 进一步将其转换为浮点数。

    【讨论】:

    • 您,先生,是个天才。谢谢 - 我会很高兴看到这个解决方案能做多少!
    猜你喜欢
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 2017-12-05
    • 2020-08-17
    相关资源
    最近更新 更多