2008-09-03 22 views
3

Webページを取得し、ページからアドレス情報を抽出する必要があります。いくつかは他のものより簡単です。私はこれを行うのを助けるFirefoxのプラグイン、Windowsアプリケーション、またはVB.NETコードを探しています。Webページからアドレス情報を抽出する

理想的には私たちの管理者(ASP.NET/VB.NET)にURLを入力してページをスクラップし、グリッドに入れることができるデータセットを返すウェブページを持っていたいと思います。

答えて

1

(彼らはすべてのことashnha.comページのようにしている場合、たとえば)ページのフォーマットを知っている場合:

  1. 作成System.Net.WebRequestを読み込み、応答を文字列に読み込みます。
  2. その後 System.Text.RegularExpressions.Regex を作成し、その文字列 あなただけ取り出さ間 マッチのコレクションを反復処理。一致するたびに、 はDataTableに新しい行を作成します。

タフなビットは正規表現を書いていますが、これは少しの黒い芸術です。正規表現についてのツール、書籍などのロードについては、regexlib.comを参照してください。

HTMLフォーマットは正規表現のために十分な明確に定義されていない場合は、あなたはおそらく...アドレスであるビットを識別するために、ユーザーの介入のいくつかの量に依存する必要があるとしている

1

どのような種類のアドレス情報を参照していますか?

いくつかのFireFoxプラグインOperator &があり、ウェブページからマイクロフォーマットを抽出して表示できます。

1

Aza Raskinは、選択されたテキストが彼のFirefox Proposal: A Better New Tab Screenのアドレスであると認識したことについて話しました。まだコードはありませんが、将来これを行うにはFirefoxにコードがあるかもしれないので、私は言います。

map command in Ubiquityを使って見ることもできますが、自分でアドレスを選択する必要があります。それがこれを行うVB.NETのコードを書くことはかなり容易だ

1

VB.NETでの一般的なHTMLスクリーンスクレイピングについては、HTML Agility Packを参照してください。 Regexにしようとするよりもずっと簡単です(すでにRegex忍者になっていない限り)。

アドレスが一貫した形式であるため、あなたの答えで述べたページは簡単に自動化できます。

しかし、ユーザーが任意のページを指し示すことができるようにするためには、はるかに難しい仕事です。データはどの形式でも構いません。すべてのテキストをダンプしたり、分割方法を推測したり、国や州の名前、電話番号などのビットを認識して、ユーザーが不足しているセクションを完成させたり、あなたが逃したか、欲しくないビットを特定します。

簡単なことではありませんが、検証済みのフォームフィールドに単純に切り抜いて貼り付けるよりも大きな利点を提供するインターフェイスを作成することは、私が思うところでは非常に大きな成果です。

編集:ちょうどあなたが何をしたいのかなりをカバーするかもしれないこの他の質問に気づいた: Parse usable Street Address, City, State, Zip from a string

関連する問題