我尝试从这个 url 获取代理列表:
这会很酷,但端口号是动态 JavaScript 内容。我如何从该页面获取 JavaScript 生成的内容?我有 jsoup 和 djNativeSwing 但我想在后台线程中执行此操作。
JWebBrowser webBrowser = new JWebBrowser();
webBrowser.navigate("http://spys.ru/en/free-proxy-list/");
System.out.println(webBrowser.getHTMLContent());
此代码返回 Null 结果。请帮忙。
最佳答案
当您调用 getHtmlContent() 方法时,网络浏览器尚未完成加载。改用这样的东西:
JWebBrowser webBrowser = new JWebBrowser();
webBrowser.navigate("http://spys.ru/en/free-proxy-list/");
webBrowser.addWebBrowserListener(new WebBrowserListener(){
public void loadingProgressChanged(WebBrowserEvent e){
if(e.getWebBrowser().getLoadingProgress()==100)
System.out.println(webBrowser.getHTMLContent());
}
}
/* Note: I wrote this in the comment field without any testing,
you probably have to make the webBrowser final. */
JavaDocs是你的 friend !
关于java - 如何解析网页中的动态内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12097352/