2011-05-05 16 views
20

Tengo esta página web que utiliza JavaScript del lado del cliente para formatear los datos en la página antes de que se muestre al usuario.wget + JavaScript?

¿Es posible utilizar alguna manera wget para descargar la página y el uso de algún tipo de JavaScript del lado cliente del motor para dar formato a los datos tal como se muestra en un navegador?

+0

¿Están las páginas en el mismo servidor? –

+0

wget se ejecutará en su servidor, lo que significa que no es del lado del cliente ... –

+0

No, es solo una página web al azar en Internet. No estaría ejecutando wget en el mismo servidor donde está alojada la página web. –

Respuesta

23

que probablemente podría hacer que eso suceda con algo como PhantomJS

Puede escribir un guión PhantomJS que cargará la página como una navegador, y luego tomar capturas de pantalla o utilizar JS para inspeccionar la página y extraer datos.

+0

Consulte [command-line-browser-with-js-support] (http://superuser.com/questions/448514/command-line-browser-with-js-support) para que lo use el script phantomjs. – lemonsqueeze

3

Aquí es un pequeño script PhantomJS sencilla que activa Javascript en una página web y le permite tirar hacia abajo de forma local:

file: get.js

var page = require('webpage').create(), 
    system = require('system'), address; 

address = system.args[1]; 
page.scrollPosition= { top: 4000, left: 0} 
page.open(address, function(status) { 
    if (status !== 'success') { 
    console.log('** Error loading url.'); 
    } else { 
    console.log(page.content); 
    } 
    phantom.exit(); 
}); 

utilizarlo como sigue:
$> phantomjs /path/to/get.js "http://www.google.com" > "google.html"

Cambiando /path/to, url y filename a lo que quieras.