0

所以以前我有一个程序可以访问很多网站并从我想要的那些网站中获取部分源代码。但是最近网站已经更新,现在可以动态加载我想要的信息,但我不再得到它。

我已经使用 Selenium 制作了我的程序的另一个版本,但它花了太长时间才实用,是否有另一种方法可以更快地获取内容?我注意到的一件事是 Internet Explorer 版本 11 仍然以以前的方式加载网站内容,我可以从那里专门获取源吗?

在此之前我得到它的方式是这样的:

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


    String example = getSource("http://www.google.com");

    System.out.println(example);
}

public static String getSource(String urlToGoTo) throws IOException
{
    URL url = new URL(urlToGoTo);
    URLConnection connection = url.openConnection();
    BufferedReader in = new BufferedReader(new InputStreamReader(
            connection.getInputStream()));
    String inputLine;
    StringBuilder a = new StringBuilder();
    while ((inputLine = in.readLine()) != null)
        a.append(inputLine);
    in.close();

    return a.toString();
}

欢迎任何想法,我一直在努力寻找一种方法来让它工作很长时间,因为它听起来不应该太复杂。

4

1 回答 1

0

您似乎正在尝试获取页面源。在硒中有一种方法。你可以用它代替你的

getSource("http://www.google.com");

创建一个 WebDriver 实例并导航到您的 url 并获取页面源。

代码片段:

WebDriver driver = new FirefoxDriver();
driver.get("your URL");
String pageSource = driver.getPageSource();
于 2016-10-18T19:03:01.903 回答