Už jste někdy potřebovali automaticky a sbírat náhledy webových stránek z prohlížeče (screenshoty)? Pak asi nejjednodušším řešením je použití PhantomJS, který, jak o sobě uvádí, je full web stack, no browser required řešením:
/*global phantom */
var webPage = require('webpage');
var urlList = [
'http://www.eshop-plus.cz',
'http://www.idnes.cz',
'http://pepa.holla.cz'
];
var done = 0;
urlList.forEach(function(url, index) {
var page = webPage.create();
page.viewportSize = {
width: 1024,
height: 768
};
page.clipRect = {
top: 0,
left: 0,
width: 1024,
height: 768
};
page.settings.userAgent = "Phantom.js bot";
console.log(index, url);
page.open(url, function(status) {
console.log(url);
if (status === 'success') {
page.render(index + '.png');
}
done++;
if (done === urlList.length) {
console.log('hotovo');
phantom.exit();
}
});
});
Výsledkem scriptu je sada PNG obrázků se screenshoty požadovaných webových stránek. Jedná se o rychlý návod jak na to. Samotný script by se dal ještě dopracovat…
PhantomJS se dá použí ke spoustě dalších věcí. Já jej používám např. i pro vytváření PDF dokumentů na webovém serveru.
