python - beautifulsoup .get_text() 对我的 HTML 解析不够具体

标签 python html regex beautifulsoup

鉴于下面的 HTML 代码,我只想输出 h1 的文本,而不是“关于”的详细信息,这是跨度的文本(由 h1 封装)。

我当前的输出是:

Details about   New Men's Genuine Leather Bifold ID Credit Card Money Holder Wallet Black

我愿意:

New Men's Genuine Leather Bifold ID Credit Card Money Holder Wallet Black

这是我正在使用的 HTML

<h1 class="it-ttl" itemprop="name" id="itemTitle"><span class="g-hdn">Details about  &nbsp;</span>New Men&#039;s Genuine Leather Bifold ID Credit Card Money Holder Wallet Black</h1>

这是我当前的代码:

for line in soup.find_all('h1',attrs={'itemprop':'name'}):
    print line.get_text()

注意:我不想只截断字符串,因为我希望此代码具有一定的可重用性。 最好是一些代码可以裁剪出范围内的任何文本。

最佳答案

您可以使用 extract()删除所有 span 标签:

for line in soup.find_all('h1',attrs={'itemprop':'name'}):
    [s.extract() for s in line('span')]
print line.get_text()
# => New Men's Genuine Leather Bifold ID Credit Card Money Holder Wallet Black

关于python - beautifulsoup .get_text() 对我的 HTML 解析不够具体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31462360/

相关文章:

python - pygame 将图像放置在屏幕上的问题

python - 播放视频后,OpenCV/Python崩溃

Python FastAPI "Post Unprocessable Entity"错误

javascript - 如何在未知数量的元素之间设置延迟的 CSS 动画

java - 正则表达式从 html 中剪切 css 链接

python - Pandas 根据几列减去数据框中的行

javascript - 用于解析 excel 的 XLSX 解析器

html - Div 在另一个 div 之上

javascript - 如何检查url字符串javascript中是否存在url方案

Java 正则表达式 : can't figure out a solution