2008-09-03 215 views
3

我需要一個網頁並從頁面中提取地址信息。有些比其他人更容易。我正在尋找一個Firefox插件,Windows應用程序,或VB.NET代碼,這將幫助我完成這件事。從網頁提取地址信息

理想情況下,我想在我們的管理員(ASP.NET/VB.NET)的網頁上輸入一個URL,然後將該頁面剪下並返回一個可放入網格的數據集。

回答

1

如果知道頁面的格式(例如,如果他們都像ashnha.com頁),那麼它很容易編寫VB.NET代碼,這是否:

  1. 創建System.Net.WebRequest並將響應讀入字符串。
  2. 然後創建一個 System.Text.RegularExpressions.Regex 和迭代的那和 你只是檢索到的字符串之間 相匹配的集合。對於每個匹配, 在DataTable中創建一個新行。

艱難的一點是寫正則表達式,這是一種黑色藝術。請參閱regexlib.com瞭解有關正則表達式的工具,書籍等的負載。

如果HTML格式不明確的,足以讓一個正則表達式,那麼你很可能將不得不依靠用戶干預的一些量,以確定哪些位地址......

1

你指的是什麼類型的地址信息?

有幾個FireFox插件Operator & Tails允許您從網頁中提取和查看微格式。

1

對於VB.NET中的一般HTML屏幕抓取,請查看HTML Agility Pack。比嘗試正則表達式要容易得多(除非你碰巧是一個正則表達式的忍者!)

你在回答中提到的頁面很容易自動化,因爲地址格式一致。

但是,要讓用戶指向任何頁面,這是一個更難的工作。數據可以是任何格式。你可以寫一些東西來轉儲所有的文本,猜猜它們是如何分割的,嘗試和識別國家和州名,電話號碼等位,然後用一個界面顯示你的結果,讓用戶完成缺失的部分,移動分隔符,並識別你錯過或不想要的位。

雖然這並不簡單,但是使界面與簡單地剪切和粘貼到驗證的表單域中相比具有很大的優勢,這是我認爲的一個成就 - 我會很有興趣知道如何繼續下去!

編輯:只注意到一些可能包括相當多的,你想做什麼這個其他問題: Parse usable Street Address, City, State, Zip from a string