wget + JavaScript?
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 wget
pour télécharger la page et utiliser une sorte de moteur JavaScript côté client pour formater les données telles qu'elles seraient affichées dans un navigateur?
3 réponses
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 des données.
Voici un simple petit script phantomjs 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();
});
Utiliser comme suit: $> phantomjs /path/to/get.js "http://www.google.com" > "google.html"
Changer /path/to
, url
et filename
pour ce que vous voulez.
Pas avec wget, car je doute qu'il inclue n'importe quelle forme de moteur JavaScript. Toutefois, vous pouvez utiliser WebKit pour traiter la page, et donc la sortie.
En utilisant des choses comme celle-ci comme base pour obtenir le contenu: http://situated.wordpress.com/2008/06/04/take-screenshots-of-a-website-from-the-command-line/