2012-08-23 14 views
5

私はこのURLからプロキシリストを取得しよう:Webページから動的コンテンツを解析するにはどうすればよいですか?

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の結果を返します。助けてください。

+0

「htmlUnit」をチェックしてください。あなたが必要とするものが1つだと思います。ありがとう。 –

+0

これは私のためではないと思う。私のコードは単純でクロスプラットフォームでなければなりません。私はHTMLUnitを知っている - システムパスを持っている必要があります - それは問題です – Trump

+0

あなたはシステムパスは必要ありません。私は、HTTPプロトコルで動作するHTMLUnitを使用してWebクローラを作成しました。はい、正しく動作します。あなたがより多くの助けを望むなら私に教えてください。あなたが望むなら私は正式な答えを書くことができます。 –

答えて

2

getHtmlContent()メソッドを呼び出すと、webbrowserの読み込みが終了しませんでした。代わりに次のようなものを使用してください:

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はあなたの友人です!

+0

速いリプレイをありがとう、しかし私はこのコードから取得するnothig。そして、イベントのためのすべてのabstrcatクラスを構築しない方法。 – Trump

+0

2秒、私はlibを取得し、それをテストしようとします –

+0

Ок!私はあなたを待っている! – Trump

関連する問題