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> 

必要な結果:BeautifulSoupのコンストラクタにBS4で

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

答えて

5

convertEntitiesパラメータはもうサポートされていません。 HTMLエンティティは常に対応するUnicode文字に変換されます(docs参照)。

ドキュメントによると、あなたはこのように、出力フォーマッタを使用する必要があります。

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

答えてくれてありがとう:) –

関連する問題