2011-06-25 7 views
1

具体的なURLN行(改行で始まるHTMLテキストコンテンツ)を取得したいと考えています。 www.sitename.comとし、アレイにstringsとして格納します。ウェブサイトの行を取得するためのJava URLライブラリ

public void grabLines(){ 

//create instance of class from imported library 

//pass sitename into it 

//from the instance, call a method for grabbing the lines on the site and pass in "N" as a parameter 

//the method returns an array/list of N Strings that I can access later 

} 

よう

何かが私はこれを行うためにインポートすることができ、ネイティブJavaライブラリはありますか?それは私が私が簡単にしたいことをすることができますか?

ありがとうございました

+0

サイト上の線は何ですか? – Sjoerd

+0

あなたは、HTMLコンテンツの行を意味しますか? URL自体の一部ではない? – Bozho

+0

テキスト行...別々の行から始まる文章@Bozhoはい私はHTMLコンテンツの行を意味します。 – algorithmicCoder

答えて

2

スクリーンスクレーパーを作成しようとしていますか?あなたはあなたが見るものとは対照的にhtmlを引っ張ってくるでしょう。また、ウェブサイトが動的である場合、あなたが見ることができるすべてを引き出すことができません。あなたはちょうどhtmlやものをしたい場合は、このようなものを試すことができます。私はブルームバーグスクリーンスクレーパーを構築し、ランダムなhtmlタグを解析しようとしました。

try { 
     URL bbg = new URL("http://www.bloomberg.com/markets/economic-calendar/"); 
     BufferedReader r = new BufferedReader(new InputStreamReader(bbg.openStream())); 
     while((temp = r.readLine())!= null){ 
      System.out.println(temp); 
     } 

    } catch (Exception e){ 
     e.printStackTrace(); 
    } 
+0

この解決策は異なる文字セットを正しく処理しないことに注意してください。ページの文字セットを使用してバイトを文字に変換する必要があります。 – jtahlborn

+0

@jtahlborn、そうです。おそらくそれはかなり怠惰なコーディングでした。私は好奇心だけど。あなたはどのように文字セットを取得しますか? タグを検出し、それに基づいて切り替えようとするより良い方法はありますか? – jhlu87

+0

@jtahlborn少し詳しく説明してください。 – algorithmicCoder

1

のApacheのHttpClientは、上記のURL/Readerの技術上の抽象化であるが、同様:Apache HTTP Client

関連する問題