×

Потрібна програма або сайт, яка буде періодично робити print screen сайта

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Доброго дня. Потрібна програма або сайт, яка буде робити print screen сайта з певною періодичністю (1 раз/місяць). Посилань 60-100 на сайти.

В будь який момент потрібно переглянути їх або скачати (якщо сайт).

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

У меня сегодня была задача сделать скриншот страницы сайта. Но было некоторое усложнение — не все нужные обьекты были видимы, нужно было щелкнуть по ним мышкой чтобы они развернулись, а потом уже сделать скриншот. Решил задачу с помощью Selenium, facebook webdriver и php.

Если кратко то:

$driver->navigate()->to('http://mywebsite.com');
$driver->findElement(WebDriverBy::xpath('//*[@id="panel1"]/div/div[3]/div/div[2]/a'))->sendKeys('RETURN')->click();
$driver->takeScreenshot('scr.jpg');

Из неудобств — для такого способа нужен компьютер с реальным браузером. Возможно, чтобы обойтись без реального браузера можно решить задачу с помощью phantomJS, но я пока до него не добрался.

Я погоджуюся, це зручний інструмент.
Кравлера з ним доволі зручно писати

тут якось проблема описана по дитячому. нічого не зрозуміло
jenkins + webdriver, нє ?

Потрібно кожного місяця робити print screen або скачати в PDF (наприклад info.fsc.org/...​rn=certificate.php#result). Я хочу щоб це виконувалось автоматом в заданий період (наприклад кожного місяця 10 числа).

Всього сайта? Та задовбаєся по всім лінкам шастати. Якщо це з метою збереження дизайну, то вибери декілька типових сторінок, які гарантовано будуть на своєму місці, та скринь тільки їх.

Бажано використати браузер. Бо те що в браузері, і те що відрендерить інший движок — то є дві великі різниці. Плюс так ти зможеш зробити декілька браузерів, та робити браузерам апдейт, щоб бачити коли нова версія браузера вбиває сайт.
Тобто, тобі потрібно пускати браузер із параметрами, щоб він зайшов на потрібний сайт, та із додатком що зробить скриншот. Врешті решт ти все одно дійдеш до Selenium.

Якщо ж треба весь сайт, то краще бери його в HTML, як це роблять веб-архіви. Результат буде важити значно менше, а містити значно більше.

Можна ще спробувати wkhtmltoimage по крону запускати.

cron + phantomjs и немного прямых рук

Phantomjs безнадежно устарел и обновлений вроде не предвидится, так что для скриншотов он не очень.

Підписатись на коментарі