所以以前我有一个程序可以访问很多网站,并从我想要的网站中获取部分源代码。然而,最近网站已经更新,现在动态加载我想要的信息,我不再得到它。
我使用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();
}
欢迎任何想法,我一直试图找到一种方法让它长期工作,因为它听起来不应该太复杂。
答案 0 :(得分:0)
似乎您正在尝试获取页面源。在硒中有一种方法。您可以使用它而不是
getSource("http://www.google.com");
创建WebDriver实例并导航到您的网址并获取网页来源。
代码段:
WebDriver driver = new FirefoxDriver();
driver.get("your URL");
String pageSource = driver.getPageSource();