2012-03-07 73 views
1

BeautifulSoup可以很容易地轉換成HTML實體,解析文檔時。如何強制BeautifulSoup輸出HTML實體

但是,是有辦法,把它變成一個字符串時扭轉這一步驟,這樣我就可以再得到解析的輸出?

這裏是我所得到的:

>>> import BeautifulSoup 
>>> BeautifulSoup.BeautifulSoup("<p>a&lt;b</p>", convertEntities=BeautifulSoup.BeautifulSoup.ALL_ENTITIES) 
<p>a<b</p> 

這裏是我想獲得:<p>a&lt;b</p>

回答

0

,因爲我無法找到任何API的解決方案,我用這個猴子補丁來實現期望的結果:

from BeautifulSoup import NavigableString 
__nv_str__str__ = NavigableString.__str__ 
NavigableString.__str__ = lambda self, encoding=None: __nv_str__str__(self, encoding=encoding).replace("<", "&lt;").replace(">", "&gt;")