2013-04-05 97 views
1

我使用MathType從Word文檔生成了一些包含mml的html。我有一個使用BeautifulSoup來優化它的python腳本,但問題是需要類似∠的東西,並將其轉換爲實際的字節序列0xE2 0x88 0xA0,這是∠符號。這是一個問題,因爲0xE2 0x88 0xA0不會顯示爲∠在瀏覽器中。相反,瀏覽器將其解釋爲一系列拉丁字符。這與所有的數學實體發生的事情爲好,如Δ ∠ − + ......等BeautifulSoup不需要的html實體替換

我從BeautifulSoup文件看,我可以看到如何把實體到字節序列,但我不使用該命令;我正在使用的是美化()。我沒有在BeautifulSoup文檔中找到一種方法來將實體轉換爲字節序列。

有誰知道BeautifulSoup中是否存在一個設置,告訴它不要將實體更改爲字節序列?我希望如此,因爲它似乎有點愚蠢,必須撤消美化運行後的損害:)

在此先感謝您的幫助!

回答

1

我錯過了BeautifulSoup文檔的一部分。默認輸出格式化程序執行所描述的行爲:將html實體轉換爲unicode字符。因此,可以通過使用不同的輸出格式化程序來更改此行爲。 (D'OH)

「您可以通過格式化參數提供的值更改此行爲美化(),編碼(),或解碼()......」

所以,如果我通過在formatter="html"只要有可能,Beautiful Soup就會將Unicode字符轉換爲HTML實體!好極了!謝謝美麗的湯!

(他們有這麼好的文檔,可惜我沒有更早讀完整件東西):$)