2011-04-09 65 views
1

什麼是使用Java設施檢測HTML頁面內數據類型的最佳方法DOM API,regexp等? 我想檢測類似Skype的插件爲電話/ Skype的數字,類似的地址,電子郵件,時間等類型如何檢測HTML頁面內的不同數據類型?

+0

如果你想答非所問,你需要給這個問題的更多細節。這些任意的網頁,或者你知道結構的特定網頁?他們是否形成良好?網頁或任何地方的知名地點的價值?你關心它們是否對用戶可見?這是一個網絡爬行問題,你是否試圖在瀏覽器插件中執行此操作?一般來說,你想要做什麼? – 2011-04-09 03:38:47

+0

Hey Stephen, 這是具有不同結構,表格,列表,設計元素等的通用html頁面。 我想驗證只對用戶元素可見。 這是測試問題,黑匣子。爬行可能是一個最佳選擇,但我也可以考慮瀏覽器插件 – 2011-04-14 18:57:16

回答

2

'類型'是一種不適用於你所指的信息。 DOM API或正則表達式的選擇取決於頁面內的信息結構。

如果您知道結構(例如,用於顯示信息的表格,您已經知道哪個單元格可以找到電話號碼以及哪個單元格可以找到電子郵件地址),那麼使用DOM API 。

否則,您應該對純HTML文本使用正則表達式而不解析它。

+0

如果DOM API沒有找到匹配的關閉標籤,DOM API是否會變得瘋狂?你不能指望所有的頁面格式良好。 – user183037 2011-04-09 03:02:41

+1

@user取決於你正在使用的API實現。有很多這樣的成熟實現能夠很好​​地迎合不合格頁面。我有很好的眼鏡蛇解析器的經驗:http://lobobrowser.org/cobra.jsp – craftsman 2011-04-09 09:47:16

0

我會使用正則表達式以下順序:

  1. 只提取正文內容
  2. 刪除所有標籤只留下純文本的文本
  3. 比賽有關的圖案

當然,這假定標記不提供提示,並且您純粹提取數據,而不是修改頁面上下文。

希望這有助於

菲爾Lello

+0

嘿菲爾, 這真的很多工作。此外,問題之一是找到相關類型的原因,其中一些非常相似,如貨幣,號碼和電話號碼,這使得正則表達式的使用非常複雜 – 2011-04-14 19:06:10