2013-11-26 134 views
0

beautifulsoup4碰巧在某些情況下會截斷無效(我猜)html。我很想強迫它不這樣做。我假設在那裏沒有「正式」的方式,但也許你已經在某種程度上完成了?防止bs4截斷html

+0

請給出一個HTML輸入的例子,你看到的輸出,你使用的代碼,你使用的bs4版本,以及哪個解析器(和解析器版本,以及,如果它是lxml, libxml2版本)。 – abarnert

回答

1

如果HTML被破壞,重建可行的元素樹並不總是可能的。但是,您可以嘗試使用不同的後端解析器。並非所有的解析器都可以將破碎的HTML視爲相同。

html5lib解析器是在處理損壞的HTML尤其擅長,處理這樣的輸入相同,將多數瀏覽器:

soup = BeautifulSoup(htmlcontent, 'html5') 

您也可以嘗試lxml這裏。這兩個庫都是單獨安裝的。

+0

謝謝。性能不是一個關心這裏只是好奇,是'html5'慢或它只是我? – nutship

+1

'html5lib'確實比較慢,它做了很多工作。 –