2012-04-04 8 views
0

私はHTMLコード全体を抽出する前に、Android JavaのHTTP Post Requestを使ってWebサイトにログインしています。その後、Pattern/Matcher(正規表現)を使ってHTMLデータから抽出する前に必要な要素をすべて見つけ出し、不要なものをすべて削除します。たとえば、私は、この抽出したとき:HTMLを解析して(Java/Androidで)、そこからデータを抽出すると、Webページのコンテンツを取得するのに効果的ですか?

その後
String extractions = <td>Good day sir</td> 

私が使用します。

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

私はそのサイトから必要なすべてのデータを持ってまで、私は、リストのいくつかの種類にそれを表示する前に、私は、これを複数回行います。

これは特に効果的で効率的な/速い方法でページからデータを取得して処理しているのか、これを高速に処理する方法があるのか​​教えてください。なぜなら、時には自分のプログラムが特定のデータを取得するのに多くの時間を要しているからです(主に私が携帯電話で3Gにいるときです)。

+1

使用jsoupを...とデータについて...それはあなたのウェブサイトなら、データを取得するためのいくつかのWebサービスを構築します...もしそうでなければ、おそらくこのサイトにはAPI(facebook、twitterなど)があります。このウェブサイトのコンテンツを処理し、あなたはアンドロイドから処理されたデータにのみアクセスします... – Selvin

答えて

0

が言った、正規表現は、この仕事のための最高のツールではありません。しかし、この場合、正規表現を使用する特定の方法は、通常よりも非効率的です。

いずれにしても、可能な解決策をもう1つ提供してください(ユースケースによって異なる)。

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

ここでは、それを使って遊ぶことができるコンソールがあります。 http://developer.yahoo.com/yql/console/

YQLは、自分のAPIをオンザフライで構築するための怠惰な開発者の方法です。主な不都合は、あなたがYahooを間もなく使用しなければならないということですが、それで大丈夫なら、その道を行くことをお勧めします。この種の作業を行うには、おそらくYQLを使用するのが最も簡単な方法です(特に、ターゲティングしているhtmlが変わっていて、htmlタグが常に有効でない場合)。

0

は、HTMLからテキストを抽出するためのApacheティカライブラリを見てください - などPDFなどとしても利用できる他の多くのパーサーは、あります:HTMLを解析するためのhttp://tika.apache.org/

関連する問題