2011-03-21 47 views
3

我想從網頁的源代碼中提取各種可用的HTML標記有沒有Java中的任何方法可以做到這一點或做HTML解析器支持?使用Java提取HTML標記

我想分離所有的HTML標籤。

+2

參考此鏈接:http://stackoverflow.com/questions/2168610/which-html-parser-is-best – rkg 2011-03-21 08:02:53

回答

0

您可以使用正則表達式。 如果你的HTML是有效的XML - 您可以使用XML解析器

+2

http://stackoverflow.com/questions/1732348/regex-match-open-tags- except-xhtml-self-contained-tags – romaintaz 2011-03-21 07:58:22

+0

如果他的HTML是有效的XML,那麼它實際上是XHTML。 – 2011-03-21 08:01:12

0

Java配套用類似的方法對DOM在JavaScript中的XML解析器:

DocumentBuilder builder = DocumentBuilderFactory.newDocumentBuilder(); 
Document doc = builder.parse(html); 
doc.getElementById("someId"); 
doc.getElementsByTagName("div"); 
doc.getChildNodes(); 

文檔構建可以採取許多不同的輸入(輸入流,原始html字符串等)。

http://download.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Document.html

的網絡ネ解析器也不錯,如果你需要更多。

0

您可以編寫自己的util方法來提取標籤。

檢查</>>以獲取完整標籤並將這些標籤寫入另一個文件。

+0

加油!不時出現錯字並沒有那麼糟糕,但前6個字中有4個錯誤的單詞? – 2011-03-21 08:07:50

+0

你能解釋清楚什麼是錯的嗎 – developer 2011-03-21 08:12:35

+0

在你編輯之前,你有「你可以寫你的贏了」。你(正確地)用「你」('雖然它應該被大寫),「你」用「你的」和「用戶名」用「util」替換「你」。 「贏」應該仍然是「自己」。關於您的內容:我不會建議嘗試從頭開始實施HTML解析器。這是一個棘手的問題,其他人已經(大部分)解決了這個問題。 – 2011-03-21 08:15:18

0

我在一個項目中使用了HTMLParser,對此非常滿意。

編輯:如果您檢查樣本頁面,分析器樣本幾乎可以滿足您的要求。