2010-01-06 161 views
1

在Java中從HTML頁面中提取元素的首選方法是什麼?從html頁面中提取元素的最佳方式?

我的HTML是有許多如下行:

<tr class="item-odd"> 
     <td class="data"><a href="http://.....">TITLE</a></td> 
     <td><div class="cost">$1.99</div></td> 
</tr> 

類交替item-odditem-even.

我需要提取:

  1. 網址
  2. 標題
  3. 價格

正則表達式的路要走嗎?

+1

不,不是正則表達式。 http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – 2010-01-06 22:54:09

+1

根據你的用戶活動頁面,你問了不少於24個問題在過去的24小時內。你有沒有想過或許只是偶爾回答一個問題而已? – 2010-01-06 22:59:27

+0

是的,我已經考慮過了。 – mrblah 2010-01-06 23:08:57

回答

6

我會使用這個工作的圖書館,如HTML Parser。看看samples和/或javadoc。另請參閱SO上的previous questions

HTML Parser很容易使用,應該做的工作。對於替代品,請看這previous answer

+0

與HtmlUnit不同嗎?看起來很相似。 – mrblah 2010-01-06 23:00:39

+0

HtmlUnit是一個測試工具。 HTML解析器是...解析器。所以是的,他們是不同的。 – 2010-01-06 23:02:20

+0

是真的,但HtmlUnit確實有解析器類型的方法,但我明白你的觀點! – mrblah 2010-01-06 23:09:43

3

JTidy在解析HTML並使其可用於DOM操作方面做得非常出色。正則表達式通常是而不是要走的路,因爲HTML不規則,並且有許多邊緣案例可以讓您知道。

+0

用Java的人,你有很多選擇,它的瘋狂! – mrblah 2010-01-06 22:59:56

相關問題