2010-04-08 106 views
3

我正在做一個HTML文本特徵提取器在C++中;該程序需要非常快速:我需要在每個html頁面中以ms爲單位提取這個功能,並且內存使用需要很好,最後unicode編碼很好。真正快速的C++ html解析器

我知道要完成所有這些工作是多麼困難,但我希望解析器至少能夠接近這些東西。

有人有建議嗎?

+0

Near duplicate:http://stackoverflow.com/questions/489522/library-recommendation-c-html-parser – ChristopheD 2010-04-08 18:08:32

+0

你嘗試過使用libxml(SAX/DOM/Pull)嗎?結果如何? – Pierre 2010-04-08 18:09:39

+0

HTML!= XML。 HTML不是常規語言 – Malfist 2010-04-08 18:17:43

回答

1

我會先通過Tidy運行HTML,然後使用XML/XHTML解析器(Xerces)來解析代碼。

+1

整潔並不是很快。特別是因爲它是一個獨立的過程。 – EFraim 2010-04-08 18:20:16

+0

你爲什麼想到libxml ++和Tidy?很多人推薦我使用Tidy來避免出現問題,使用@fraim html – Alessandro 2010-04-08 18:30:43

+0

,Tidy有一個C++包裝器。 http://users.rcn.com/creitzel/tidy.html#cplusplus。所以它不會是一個單獨的過程,他可以將其編譯爲本地代碼。 – 2010-04-08 20:02:13

1

Webkit有一個非常快的聲譽。

+8

開始時,WebKit不是HTML解析器。它是一個渲染引擎。不過,它內部有一個,但僅僅用於解析器是一種矯枉過正。 – EFraim 2010-04-08 19:39:46

+0

希望我們能在沒有搞清楚的情況下抓住解析器 – Lothar 2014-07-04 23:46:13