0

我一直试图找到一条线并在这个网站上打印出来:http ://www.easports.com/player-hub/360/Its+McDoom

现在它打印出网站上的所有内容,但我找不到我正在寻找的行。我正在尝试打印“H2h 技能点:1053”,但在控制台中找不到类似的内容。

我只希望它打印那 1 行,而不是全部,但我什至找不到它。

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



public class ElectronicArtsStatHub {

    /**
     * @param args
     */
    public static void main (String[] args) throws Exception{
            URL oracle = new URL("http://www.easports.com/player-hub/360/Its+McDoom");
            URLConnection yc = oracle.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(
                                    yc.getInputStream()));
            String inputLine;
            while ((inputLine = in.readLine()) != null) {
                System.out.println(inputLine);
            }
            in.close();

    }
}
4

1 回答 1

0

第一个问题是您试图查找的信息实际上并不在您当前输出的数据中。

当您在浏览器中打开页面时,您会获得主要页面元素,但随后您的浏览器会运行一些 Javascript 代码,这些代码可能使用 AJAX 来获取统计信息并填写表格。

URLConnection 接收的数据与您的浏览器最初接收的数据相同,并且不执行 Javascript,因此如果您检查输出,您正在寻找的数据实际上根本不存在。

可能的解决方案包括为这些数据寻找不同的来源,或者可能通过使用HTMLUnit在 Java 中执行 Javascript

关于这个相关问题可能有一些有用的信息

于 2013-08-04T00:08:42.440 回答