9

我想从网上刮一张桌子并保留   实体完整,以便我以后可以重新发布为 HTML。BeautifulSoup 似乎正在将这些转换为空格。例子:

from bs4 import BeautifulSoup

html = "<html><body><table><tr>"
html += "<td>&nbsp;hello&nbsp;</td>"
html += "</tr></table></body></html>"

soup = BeautifulSoup(html)
table = soup.find_all('table')[0]
row = table.find_all('tr')[0]
cell = row.find_all('td')[0]

print cell

观察结果:

<td> hello </td>

要求的结果:

<td>&nbsp;hello&nbsp;</td>
4

1 回答 1

10

convertEntities不再支持 BeautifulSoup 构造函数的bs4参数。HTML 实体总是被转换成相应的 Unicode 字符(参见docs)。

根据文档,您需要使用输出格式化程序,如下所示:

print soup.find_all('td')[0].prettify(formatter="html")
于 2013-04-21T21:04:16.197 回答