Crawler4j с MongoDB

#mongodb #crawler4j

#mongodb #crawler4j

Вопрос:

Я исследовал crawler4j. Я обнаружил, что он использует BerkeleyDB в качестве базы данных. Я разрабатываю приложение Grails с использованием MongoDB и задавался вопросом, насколько гибким будет crawler4j для работы в моем приложении. Я в основном хочу сохранить информацию об обходе в базе данных mongodb. Возможно ли настроить crawler4j таким образом, чтобы он использовал MongoDB в качестве хранилища данных по умолчанию, а не BerkeleyDB? Любые предложения были бы полезны. Спасибо

Комментарии:

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

Ответ №1:

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

Существует 3 класса dao. Класс Counters сохраняет общее количество «запланированных» и «обработанных» страниц (это только для статистики). Класс DocIDServer содержит пары URL-id для разрешения новых URL-адресов. Класс Frontier содержит очередь для страниц для обхода. Просто сохраните логику метода и блоки перехода.