Fórum Root.cz
Hlavní témata => Software => Téma založeno: Honza1 07. 09. 2016, 23:37:25
-
Zdravím
Měl bych takový dotaz - mám řádově stovky předdefinovaných URL na jeden web a nenapadá mě jak automatizovat Print-Screen z těchto stránek (jako by byla stránka otevřená v nějakém webovém prohlížeči).
Stránky obsahují html kód a obrázky gif (neanimovaný),png,jpg, neobsahují Javu, Videa, Flash a podobné věci. Stránka je generována přímo na základě vložené adresy. Není tam CAPTCHA, web naopak podporuje wget , jen je omezen počet dotazů za čas (řešení - sleep xxx s).
Díky za nápady.
-
https://www.abclinuxu.cz/blog/JDblog/2008/5/jak-generovat-nahledy-stranek-na-serveru
-
wkhtmltopng
-
Nedavno jsem taky potreboval screenshoty webu a pouzil jsem PhantomJS - maji primo example, ktrerej to zvladne.
https://github.com/ariya/phantomjs/blob/master/examples/rasterize.js
-
Doporučuju http://phantomjs.org/ nebo https://slimerjs.org/ - mají hotové služby pro screenshoty, takže stačí nainstalovat, spustit a screenshotovat. Osobně používám https://github.com/vbauer/manet kde si lze vybrat, zda se použije PhantomJS (WebKit) nabo SlimerJS (Gecko).
Původně jsem chtěl integrovat wkhtml2pdf/wkhtml2png, ale bohužel ta knihovna je zastaralá, nefunkční a bugy nikdo neřeší. V praxi to pro mě bylo nepoužitelné.
-
Selenium http://www.seleniumhq.org (http://www.seleniumhq.org).
-
Za me http://casperjs.org/ prisel me narozdil treba od selenia, ze ma clovek behem 5 minut hotovo ... takze na jednoduchy veci jako toto ideal. Beru z pohledu cloveka, co nikdy ten nastroj nevidel.
-
Ahoj
Koukam ted, ze jsem zapomnel dat zpetnou vazbu, diky za rady.
Resenim je take NodeJS - emulator Google Chrome.
https://github.com/sindresorhus/pageres
https://nodejs.org
Maly skript napr:
#!/usr/bin/env node
const Pageres = require('pageres');
process.argv
let url = "https://www.google.com/maps/@0.0,0.0,2z"
let res1 = "4096x4096"
let res2 = "4096x2048"
const pageres = new Pageres({delay: 2})
.src(url, [ res1 ], {crop: true})
.dest(__dirname)
.run()
.then(() => console.log('done'));
Omezeni na sirku-delku je max. 9999 pro vsechny stranky, u Google map to vypada na maximalni pocet obrazovych bodu 16 777 216, tedy 2na24.
-
let url = process.env.ENV_VARIABLE;
kde ENV_VARIABLE je název proměnné.
-
mozes pouzit screenshot machine na https://www.screenshotmachine.com
je tom freemium sluzba, mozes si vybrat, ci chces screenshot z desktopu/tabletu/telefonu