Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在没有第三方库的情况下完整解析HTML?_Java_Html_Ajax_Parsing_Load - Fatal编程技术网

Java 如何在没有第三方库的情况下完整解析HTML?

Java 如何在没有第三方库的情况下完整解析HTML?,java,html,ajax,parsing,load,Java,Html,Ajax,Parsing,Load,我对这个问题感到困惑 我可以像下面这样解析HTML package org.owls.parser.html; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class HTMLParser { public static String getHTTPStringsFromWe

我对这个问题感到困惑

我可以像下面这样解析HTML

package org.owls.parser.html;

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

public class HTMLParser {
    public static String getHTTPStringsFromWeb(String urlStr) throws Exception {
        StringBuffer sb = new StringBuffer();
        URL url = new URL(urlStr);
        HttpURLConnection con = (HttpURLConnection) url.openConnection();

        BufferedReader br = null;
        if(con.getResponseCode() == HttpURLConnection.HTTP_OK)
        {
            br = new BufferedReader(new InputStreamReader(con.getInputStream()));
            String line = "";
            while((line = br.readLine()) != null){
                sb.append(line);
            }
            br.close();
        }
        return sb.toString();
    }
}
这段代码运行良好,但存在一个问题。此代码无法获取由ajax结果生成的动态数据

所以我想得到完整的页面。可能吗

人们都在谈论jsoup,但我想知道的是,在native上是否有这样的功能


谢谢:D

在您尝试执行的过程中存在一个固有的问题,您需要一个web浏览器/环境来执行ajax请求。将它们读入字符串并查找url是不够的,函数可能会对您无法支持的数据执行一些特殊的操作

您必须使用phantomjs之类的东西,它可以在无头环境中加载和解析页面