2009-09-25 24 views
0

HTML解析器...我最近的項目需要一個網絡蜘蛛..它會自動獲取網頁內容,它會得到的鏈接遞歸.... 但它需要完全瞭解其內容。像標籤。 它運行在Linux和Windows ..你知道一些開源關於這個需求.. thanx 或關於一些建議。HTML解析器...我最近的項目需要一個網絡蜘蛛

+0

您的項目用什麼語言編寫? – 2009-09-25 03:13:25

回答

-1

我認爲你需要知道的主題是正則表達式。

正則表達式適用於所有平臺和所有語言(Java,PHP,Python,C#,Ruby,Javascript)。 使用正則表達式,您可以輕鬆地將其內容作爲您想要的首選形式。

Pattern p = Pattern.compile("<a\\s[^>]*href=\"([^\"]+?)\"[^>]*>"); 
Matcher m = p.matcher(pageContent); 
while(m.find()) { 
    System.out.println(m.group(1)); 
} 

以上用Java編寫的代碼塊將提取頁面中的所有錨定標記並將URL提取到您的手中。

如果您沒有足夠的時間學習正則表達式,以下參考將對您有所幫助。

http://htmlparser.sourceforge.net/

+1

您不應該使用正則表達式來解析非常規語言。即使這會起作用,當您的需求改變時會發生什麼?爲什麼不從工作的正確工具開始,而不是試圖一起破解一些東西? (X | HT)ML分析器幾乎適用於所有現代語言,並且相當容易使用。 – 2009-09-25 03:12:09

+0

正則表達式來解析html?跆拳道? – hasen 2009-09-25 03:31:04

3

Here是展示瞭如何使用不同語言的一些XML/HTML解析器的StackOverflow上的問題。如果您告訴我們您使用的語言,我可以更具體,但您的答案可能已經在那裏。

0

取決於你正在開發什麼樣的語言,試圖谷歌搜索:

HTML解析器languagename

hpricot是一個很好的Ruby,例如。

+0

我只需要在C或C++中 – 2009-09-27 09:05:07

+0

http://www.lmgtfy.com/?q=html+parser+c%2B%2B – 2009-10-12 04:54:15