7

我想從網上刮一張桌子,並保持& nbsp;實體完好無損,以便稍後可以重新發布爲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> 

回答

5

在BS4 convertEntities參數BeautifulSoup構造不再被支承。 HTML實體總是轉換爲相應的Unicode字符(請參見docs)。

根據文檔,你需要使用的輸出格式,如:

print soup.find_all('td')[0].prettify(formatter="html") 
+0

感謝您的回答:) – 2013-04-28 03:56:10