gpt4 book ai didi

python-2.7 - 用 BeautifulSoup 替换 python 中的文本

转载 作者:行者123 更新时间:2023-12-02 21:36:12 30 4
gpt4 key购买 nike

我正在尝试使用 beautifulSoup 解析表格,并使用 -so 而不是

删除某些行中发现的空格
<tr>
<td><small>15</small></td>
<td><small><small>Cat</small></small></td>
</tr>
<tr>
<td><small><small>   </small></small></td>
<td><small><small> </small></small></td>
</tr>

我要

<tr>
<td><small>15</small></td>
<td><small><small>Cat</small></small></td>
</tr>
<tr>
<td><small><small>-</small></small></td>
<td><small><small>-</small></small></td>
</tr>

我已经设法做到了这一点:

from bs4 import BeautifulSoup

soup = BeautifulSoup (open("table.html"))

for a in soup.findAll('small'):
a.replaceWith("-")

这确实删除了空格,但它也删除了文本 15 和 cat (我知道我用什么替换了标签中的所有内容)。这是我所能得到的。我该如何修复该代码,使其仅用 - 替换空格?

编辑:抱歉,这是原始代码

<tr>
<td><small>15</small></td >
<td><small><small>&nbsp;</small></small></td >
</tr>
<tr>
<td><small><small>&nbsp; &nbsp;</small></small></td >
<td><small><small>&nbsp;</small></small></td >
</tr>

最佳答案

尝试一下:

from BeautifulSoup import BeautifulSoup as bs
soup = bs(open("table.html"))
for i in soup.findAll('small'):
if i.text == "" or "&nbsp;" in i.text:
i.string = '-'
print soup

替换前需要检查该值。

关于python-2.7 - 用 BeautifulSoup 替换 python 中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21320218/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com