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.