java - 如何解析网页中的动态内容?

标签 java javascript html-parsing jsoup dynamic-data

我尝试从这个 url 获取代理列表:

Free proxy list

这会很酷,但端口号是动态 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/

相关文章:

javascript - 无法使用 FB.getLoginStatus 获取登录状态

php - 解析 HTML 以修复微排版和字形问题

java - 检查 android 模拟器是否静音

java - 如何模拟行 Integer.Parseint(authenticationmap.get ("userid");

javascript - 我应该避免在 Node js 上的每一个异步/等待中 try catch 吗?

java - 将文本文件的内容传递到 Jsoup 不会解析所有 html

c++ - 解析html文件的实际含义是什么?

java - 使用最小堆实现优先级队列

java - 从 ISO-8859-1 字符获取实际字符

javascript - Onclick 无法使用外部 .JS 文件