2012-04-19 14 views
0

私はこの文字列をウェブサイトとidentifから解析し、変数に色を格納したいと考えています(緑色の値が0か、それ以外の場合は1)。私はこのデモのコードを発見したparsin text from .htmlページjava

<tr><td class="mapbuttons" align=right> 
<a href="http://www...."><font color=green>TEXT <font color=#ff8000>(2)</font>3/14</font></a> 

import java.net.*; 
import java.io.*; 
public class WebSiteReader { 
    public static void main(String args[]){ 
     String nextLine; 
     URL url = null; 
     URLConnection urlConn = null; 
     InputStreamReader inStream = null; 
     BufferedReader buff = null; 
     try{ 
      // Create the URL obect that points 
      // at the default file index.html 
      url = new URL("http://www.yahoo.com"); 
      urlConn = url.openConnection(); 
     inStream = new InputStreamReader( 
          urlConn.getInputStream()); 
      buff= new BufferedReader(inStream); 

     // get the values I want here 

    } catch(MalformedURLException e){ 
     System.out.println("Please check the URL:" + 
              e.toString()); 
    } catch(IOException e1){ 
     System.out.println("Can't read from the Internet: "+ 
              e1.toString()); 
    } 
} 
} 

1)は、それがcorrenctですか?私は私の希望をしているcodewhichとのコメントを置き換えるために私はちょうどいいですか? 2)私はJavaの初心者で、テキストを使って "遊ぶ"というコードを手伝ってもらえますか?

+0

再生したい場合は、文字列とパターンのクラスを使用しています。これらの正規表現は大きくて醜いものになるでしょうが、それらは機能します - それはちょうど遊びの解決策です:) – wuppi

答えて

2

JSoupを使用すると、難しい作業(HTMLを解析する)を行うことができます。そこにある多くのものが壊れたHTMLであるため、HTMLを解析するのは本当に難しいです。

以下に類似した何か(少しもテストされていない最初のフォント要素を選択して、色の属性の値を抽出する必要があります。

Document doc = Jsoup.connect("http://www.yahoo.com").get(); 
Element fontTag = doc.select("font").first(); 
string theColor = fontsTag.attr("color"); 
+0

それでは、上記のコメントを置き換えて置き換えてください。どこに挿入するのですか? – ghostrider

+0

上記のほとんどのコードを削除して、上記のコードを使用するだけで済みます。 'Jsoup'はあなたのためにウェブサイトへの接続を処理します。 –

+0

このコードがhtmlの最初のフォントでない場合はどうなりますか?または複数のフォントが必要ですか? – ghostrider