2012-08-23 31 views
5

trato de obtener una lista de proxy desde esta dirección:¿Cómo puedo analizar el contenido dinámico de una página web?

Free proxy list

Esto estaría bien, pero el número de puerto es el contenido dinámico JavaScript. ¿Cómo puedo obtener contenido generado por JavaScript desde esta página? Tengo jsoup y djNativeSwing pero quiero hacer esto en el hilo de fondo.

JWebBrowser webBrowser = new JWebBrowser(); 
webBrowser.navigate("http://spys.ru/en/free-proxy-list/"); 
System.out.println(webBrowser.getHTMLContent()); 

este código arroja un resultado nulo. Ayuda por favor.

+0

echa un vistazo a 'htmlUnit' Creo que es lo único que necesita. Gracias. –

+0

Creo que esto no es para mí. Mi código debe ser simple y crossplatform. Como sé HTMLUnit - debe tener SYSTEM path - es un problema – Trump

+0

No, no necesita la ruta del sistema. Creé el rastreador web usando HTMLUnit, que funciona en protocolo http. así que sí, funciona correctamente Avísame si quieres más ayuda. Puedo escribir una respuesta formal si lo desea. –

Respuesta

2

El navegador web no ha terminado de cargarse cuando llama al método getHtmlContent(). Usar algo como esto en su lugar:

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 es su amigo!

+0

Gracias por la reproducción rápida, pero no tengo que obtener este código. Y cómo no construir toda la clase de abstrcat para el evento. – Trump

+0

2 segundos, intentaré obtener la lib y probarlo –

+0

Ок! ¡Te estoy esperando! – Trump

Cuestiones relacionadas