J'ai cette page Web qui utilise JavaScript côté client pour formater les données sur la page avant qu'elle ne soit affichée à l'utilisateur.
Est-il possible d'utiliser d'une manière ou d'une autre wget
pour télécharger la page et d'utiliser une sorte de moteur JavaScript côté client pour formater les données telles qu'elles seraient affichées dans un navigateur?
Vous pourriez probablement y arriver avec quelque chose comme PhantomJS
Vous pouvez écrire un script phantomjs qui chargera la page comme le ferait un navigateur, puis prendre des captures d'écran ou utiliser JS pour inspecter la page et extraire les données.
Voici un petit script phantomjs simple qui déclenche javascript sur une page Web et vous permet de le retirer localement:
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();
});
Utilisez-le comme suit:$> phantomjs /path/to/get.js "http://www.google.com" > "google.html"
En changeant /path/to
, url
et filename
à votre guise.
Pas avec wget, car je doute qu'il inclut toute forme de moteur JavaScript. Cependant, vous pouvez utiliser WebKit pour traiter la page, et donc la sortie.
Utiliser des choses comme cela comme base pour obtenir le contenu: http://situated.wordpress.com/2008/06/04/take-screenshots-of-a-website-from-the-command- ligne /