如何在加载javascript后从URL获取HTML代码

如何在加载javascript后从URL获取HTML代码,javascript,java,android,html,url,Javascript,Java,Android,Html,Url,我正在制作一个从网站获取数据的应用程序。 该网站没有提供API,所以我尝试自己制作 问题是: 我使用以下代码从URL中提取HTML: //Get the html code from the URL BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); String input; StringBuffer stringBuffer = new StringBuffer(); while (

我正在制作一个从网站获取数据的应用程序。 该网站没有提供API,所以我尝试自己制作

问题是: 我使用以下代码从URL中提取HTML:

//Get the html code from the URL
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String input;
StringBuffer stringBuffer = new StringBuffer();
while ((input = in.readLine()) != null) {
    stringBuffer.append(input);
}
in.close();
String htmlData = stringBuffer.toString();

现在,这给了我该网站的加载页面。我知道javascript加载了站点的其余部分,所以我的问题是:在javascript加载完成后,如何从url获取HTML。

您应该使用一些web抓取库,如cheerio等。在这里,我附上同样的教程。

您必须使用一些web抓取库。根据您的编程语言,有不同的web抓取库,下面是其中之一


下午好,如果您仍然尝试自己做,而不是使用任何库作为Cheerio,那么您应该在检索HTML数据之前发出请求

public static String getURLSource(String url) throws IOException
{
    URL urlObject = new URL(url);
    URLConnection urlConnection = urlObject.openConnection();
    urlConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");

    return toString(urlConnection.getInputStream());
}

private static String toString(InputStream inputStream) throws IOException
{
    try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")))
    {
        String inputLine;
        StringBuilder stringBuilder = new StringBuilder();
        while ((inputLine = bufferedReader.readLine()) != null)
        {
            stringBuilder.append(inputLine);
        }

        return stringBuilder.toString();
    }
}