Представим, что мы хотим следить за тем, что происходит в кыргызском интернете. И не просто поверхностно, какие новости иногда выходят или какие пресс-релизы правительство выпускает, а буквально за всем. Вплоть до того, что мы хотим знать, когда снизится цена на Iphone X в Светофоре или когда АКИpress корректирует опубликованную статью, или какие издания и в каком виде перепечатывают пресс-релизы министерства экономики.

Понятно, что для такой задачи нам нужен скрейпер — программа, которая скачивает информацию с сайтов в интернете.

Проблема заключается в том, что такой скрейпер нужен не один. Скорее всего, для разных видов сайтов нам придется создать разные скрейперы, а для некоторых особенно важных и больших сайтов, таких как государственные базы и интернет магазины, возможно придется писать индивидуальные скрейперы.

Очень скоро в такой ситуации у нас появятся десятки, а возможно и сотни программ скрейперов, и тут начинается веселье! Какие-то сайты меняют свой формат и часть скрейперов ломаются, а другие скрейперы ломаются сами по себе.

Прекрасно, если скрейпер просто перестает собирать информацию и начинает выдавать ошибку.

Но мы не спим по ночам, потому что переживаем, что некоторые из скрейперов не собирают всю нужную информацию и при этом не выдают никаких ошибок. При этом, чтобы продолжать работу нам приходится писать по 2-3 новых скрейпера каждый день.

И в принципе, вы очень быстро придете к аналогичной ситуации, если ваша задача требует больше 10 скрейперов.

Тем не менее, решение существует!

Чтобы ускорить написание скрейперов и облегчить мониторинг их состояния нужно использовать фреймворк. Фреймворк позволит написать простой скрейпер меньше чем за час, а в дальнейшем сможет мониторить его состояние и пришлет сообщение при появлении тех или иных ошибок.

Хороший фреймворк также позволит создать настраиваемые тесты для оценки качества работы скрейперов. А также даст возможность распараллелить работу между множеством серверов и организовать скачивание через Tor.

Ну ок, вы начали пользоваться фреймворком. Ваши 50 скрейперов работают более-менее нормально, и каждый день ваши программисты пишут еще 1-2 новых.

Но тут возникает новая монументальная проблема — как хранить полученную информацию. Это можно делать в SQL-базе. Но очень быстро вы понимаете, что получаемая информация из скрейперов настолько разнообразна, что вам нужна намного более гибкая схема хранения данных.

Вы начинаете использовать NoSQL базу данных и сразу же возникает другая проблема — как привести полученные данные к единой схеме, которая позволит проводить быстрый поиск и анализ. Вы уже на грани того, чтобы снова вернуться к чистому SQL.

Но может быть есть другой путь?

Если по какой-то странной причине вы дочитали до этого места, то лично у вас есть два пути: либо идти лечиться (у вас явно интернет-зависимость), либо записаться к нам на курсы.

На наших курсах мы разберем одну из самых популярных скпейпер-фреймворков среди журналистов-расследователей Memorious (во время курса вы напишете минимум два скрейпера).

Также мы поговорим про SQL и NoSQL базы (на примере PostgreSQL и Elasticsearch), и как можно их использовать для работы с большим количеством неоднородных данных.

Также мы научимся использовать библиотеку FollowTheMoney (разработанную OCCRP), как пример стандартизации данных.

Требования для участия в тренинге:

— умение кодить на Питоне;
— умение работать с виртуальными средами;
— умение работать с Гитхабом;
— наличие ноутбука.

Вам нужно будет подойти в офис, где наши специалисты помогут настроить ваш ноутбук для успешного прохождения курсов, а также убедятся, что вашего уровня знаний будет достаточно (мы позвоним вам и назначим индивидуальное время).

Кто ведет тренинг

Тренинг ведет со-основатель Клоопа, со-автор расследования про Самарагейт, член дата-команды OCCRP – Ринат Тухватшин. Он заставит вас работать круглые сутки.

Сколько стоит

Стоимость тренинга составляет $200. При выполнении всех заданий тренера $50 будут вам возвращены.

Завтраки, обеды и кофе-брейки не предоставляются.

Где и когда

Когда: 3-7 декабря 2018, 10:00-18:00

Где: в офисе «Клоопа» на Горького 48/1 (ориентир — магазин «Марко Поло»).

Контакты: 0777398346 (Мария), maria@kloop.kg

Для участия в тренинге заполните форму ниже.

Внимание! Заявка не гарантирует места в группе. Место гарантируется только после внесения предоплаты в 2 000 сомов по принципу first come, first served (кто первый встал, того и тапки).

Форма для участия в тренинге: