2016-12-09 5 views
1

私は、基本的にURLからdivのHTMLコードをコピーして貼り付ける関数をJavaに書き込もうとしています。問題のデータはhttp://cdn.espn.com/sports/scores#completedですが、ioストリームを使用して関数にコピーするとデータが表示されません。私がinspectをクリックしてcontrol-f "completed-soccer"を表示するとデータ自体が表示されますが、コードでは表示されません。ここで私が使用したコードです。Javaを使ってウェブサイトからhtml divの内容をコピーする方法

package project; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.net.URL; 
import java.net.URLConnection; 


public class DownloadPage { 

    public static void main(String[] args) throws IOException { 

     // Make a URL to the web page 
     URL url = new URL("http://cdn.espn.com/sports/scores#completed-soccer"); 

     // Get the input stream through URL Connection 
     URLConnection con = url.openConnection(); 
     InputStream is =con.getInputStream(); 


     BufferedReader br = new BufferedReader(new InputStreamReader(is)); 

     String line = null; 

     // read each line and write to System.out 
     while ((line = br.readLine()) != null) { 
      System.out.println(line); 
     } 
} 

答えて

0

あなたは、通常のHTTPリクエストでデータを達することができない場合は、webdriverを持つセレンなど、より複雑なライブラリを使用する必要があります。

このライブラリを使用すると、実際にウェブページをナビゲートし、javascriptを実行してすべての要素を調べることができます。

多くの情報とガイドがあります。

0

このコード

public static void main(String[] args) throws IOException { 
     URL url = new URL("http://cdn.espn.com/sports/scores#completed-soccer"); 
     HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
     try 
     { 
      InputStream in = url.openStream(); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(in)); 
      StringBuilder result = new StringBuilder(); 
      String line; 
      while((line = reader.readLine()) != null) { 
       result.append(line); 
      } 
      System.out.println(result.toString()); 
     } 
     finally 
     { 
      urlConnection.disconnect(); 
     } 
    } 
で試してみてください
関連する問題