2013-04-30 70 views
0

BeautifulSoup 3具有很好的功能,它不會試圖將標籤的內容解釋爲html,而是將其作爲文本引用。這種行爲可以通過修改QUOTE_TAGS屬性可以有其他的標籤。這是an illustration這是如何有用的。在BeautifulSoup 4中提取標籤內容作爲文本(等同於QUOTE_TAGS)4

在BeautifulSoup 4中,沒有QUOTE_TAGS屬性,並且我沒有辦法在沒有繼承html.parser的情況下獲得相同的功能。我錯過了什麼嗎?你如何解決上面使用BS4鏈接的問題?

回答

1

美麗的湯4沒有QUOTE_TAGS,因爲它沒有自己的解析器:它依賴於外部的解析器。不同的解析器以不同的方式處理相同的標記,並且發現了其中一種差異。

的LXML解析器和Python的內置html.parser兩個治療<textarea>作爲HTML標記的內容。所述html5lib分析器把一個<textarea>的內容作爲原始數據。講述美麗的湯使用html5lib會給你你想要的結果:

BeautifulSoup(markup, "html5lib") 

您需要安裝html5lib,當然。

+0

我終於有機會嘗試一下,確實html5lib行爲更類似於在這方面的BS3解析器。謝謝你的回答! – 2013-07-02 00:50:36

相關問題