/web-crawler

web-crawler

Primary LanguageJava

Задание "Краулер":

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

Нужно учесть, что ссылки на другие страницы могут повторяться.

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

Также необходимо помнить, что сайты - вещи хрупкие, и при достижении какого-то процента отказов сайта (ошибки 5XX) нужно приостанавливать потоки обработки.

При обработке html-страниц, помните, что построение DOM-дерева достаточно затратная операция.

Приложение собирается через gradle. Написать все на Java.

Код должен быть выложен на гитхабе.