java获取许多网页的网页内容

时间:2016-10-18 18:45:40

标签: java selenium dynamic webcontent

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

我使用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();
}

欢迎任何想法,我一直试图找到一种方法让它长期工作,因为它听起来不应该太复杂。

1 个答案:

答案 0 :(得分:0)

似乎您正在尝试获取页面源。在硒中有一种方法。您可以使用它而不是

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

创建WebDriver实例并导航到您的网址并获取网页来源。

代码段:

WebDriver driver = new FirefoxDriver();
driver.get("your URL");
String pageSource = driver.getPageSource();