0

そのため、HTMLコード全体を抽出する前に、AndroidJavaでHTTPPOSTリクエストを使用してWebサイトにログインしています。その後、Pattern / Matcher(regex)を使用して、HTMLデータから要素を抽出する前に必要なすべての要素を検索し、不要な要素をすべて削除します。たとえば、これを抽出すると、次のようになります。

String extractions = <td>Good day sir</td>

それから私は使用します:

extractions.replaceAll("<td>", "").replaceAll("</td>", ""); 

ある種のリストに表示する前に、そのサイトから必要なすべてのデータが得られるまで、これを複数回行います。

私は特に何にもこだわっていませんが、これがページからデータを取得して処理するための効果的/効率的/高速な方法であるかどうか、またはこれをより高速に行う方法はありますか?時々、私のプログラムが特定のデータを取得するのに長い時間がかかるように見えるからです(ただし、ほとんどの場合、それは私の電話で3Gを使用しているときです)。

4

3 に答える 3

0

正規表現を使用してWebサイトを解析することは、常に悪い考えです。

正規表現を使用してJavaでHTMLを解析するにはどうすればよいですか?

正規表現を使用してHTMLを解析する:なぜですか?

于 2012-04-04T08:58:25.273 に答える
0

他の人が言っているように、正規表現はこの仕事に最適なツールではありません。ただし、この場合、正規表現を使用する特定の方法は、通常よりもさらに非効率的です。

いずれにせよ、(ユースケースに応じて)もう1つの可能な解決策を提供させてください。

これはYQL(Yahoo Query Language)と呼ばれます。 http://developer.yahoo.com/yql/

これがそのためのコンソールですので、それで遊ぶことができます。 http://developer.yahoo.com/yql/console/

YQLは、その場で独自のAPIを構築するための怠惰な開発者の方法です。主な不便は、Yahooを仲介者として使用しなければならないことですが、それでよければ、そのルートを使用することをお勧めします。YQLを使用することは、おそらくその種の作業を実行するための最も簡単な方法です(特に、ターゲットとするhtmlが変化し続け、そのhtmlタグが常に有効であるとは限らない場合)。

于 2012-04-04T09:29:04.097 に答える
0

HTMLからテキストを抽出するためのApacheTikaライブラリをご覧ください。PDFなどの他の多くのパーサーも利用できます。:http://tika.apache.org/

于 2012-04-04T09:34:19.600 に答える