В crawler4j мы можем переопределить функцию boolean shouldVisit(WebUrl url)
и определить, должен ли быть разрешен обход определенного URL-адреса, вернув «true» и «false».Управление списком URL-адресов, которые будут сканироваться во время выполнения
Но можем ли мы добавить URL (ы) во время выполнения? если да, то каковы способы сделать это? В настоящее время я могу добавить URL-адреса в начале программы с использованием addSeed(String url)
функции до start(BasicCrawler.class, numberOfCrawlers)
в классе CrawlController
, и если я попытаюсь добавить новый url, используя addSeed(String url)
, он дает ошибку. Here - изображение ошибки.
Любая помощь будет оценена и, пожалуйста, дайте мне знать, если для ответа на вопрос требуется более подробная информация о проекте.
да, я понял ваш ответ, но мой вопрос был, если бы я дал семя в начале как «www.facebook.com», то все ссылки на «Facebook» домен будет переходить из функции 'code' ('shouldVisit'), и в зависимости от реализации функции они будут (не будут), но я могу добавить новое семя, скажем,' code' ('www.google.com') между ними, пока оно сканирует для 'code' (facebook) в своем списке URL-адресов, которые будут сканироваться. Я ясно вам? – Amit
Да, и мой ответ тот же. Вы должны изменить реализацию своей функции, чтобы зависеть от некоторой структуры данных, которую вы можете обновить. – Gian
Вы посмотрели пример 'controller.addSeed (« http://www.ics.uci.edu/ »); пример на первой странице сайта crawler4j? Похоже, вам просто нужно позвонить еще раз - это в основном новый обход, но я не вижу, что это должно иметь большое значение? – Gian