Сканирование списка сайтов с использованием Crawler4j

1

У меня возникли проблемы с загрузкой списка ссылок; эти ссылки должны использоваться controller.addSeed в цикле. Вот код

SelectorString selector = new SelectorString();
List <String> lista = new ArrayList<>();
lista=selector.leggiFile();
String crawlStorageFolder = "/home/usersstage/Desktop/prova";
for(String x : lista){
    System.out.println(x);
    System.out.println("----");
}

// numberOfCrawlers mostra il numero di thread inizializzati per il
// crawling

int numberOfCrawlers = 2; // threads
CrawlConfig config = new CrawlConfig();
config.setCrawlStorageFolder(crawlStorageFolder);

// Non mandare più di una richiesta per secondo (1000 mills || 200
// mills?)
config.setPolitenessDelay(200);

// profondità del crawl. -1 per illimitato
config.setMaxDepthOfCrawling(-1);

// numero massimo di pagine da crawllare
config.setMaxPagesToFetch(-1);

config.setResumableCrawling(false);

// instanza del controller per questo crawl
PageFetcher pageFetcher = new PageFetcher(config);
RobotstxtConfig robotstxtConfig = new RobotstxtConfig();
RobotstxtServer robotstxtServer = new RobotstxtServer(robotstxtConfig,
        pageFetcher);
CrawlController controller = new CrawlController(config, pageFetcher,
        robotstxtServer);
// LOOP used to add several websites (more than 100)
for(int i=0;i<lista.size();i++){
    controller.addSeed(lista.get(i).toString());    
}
controller.start(Crawler.class, numberOfCrawlers);

Мне нужно просканировать эти сайты и получить только rss-страницы, но вывод списка сканирования будет пустым.

  • 0
    Мне пришлось ждать около 10 минут, и он начал ползти ... как это возможно?
  • 0
    Вы решили, если решены средства, вы можете помочь решить этот stackoverflow.com/questions/30323522/…
Теги:
web-crawler
crawler4j

2 ответа

0
Лучший ответ

Этот код, который вы опубликовали, показывает, как настроить CrawlController. Но вам нужно настроить сканер, если вам нужно только обходить ресурсы rss. Логика принадлежит методу "shouldVisit" на сканере. Проверьте этот пример.

0

Вы попробуете его под кодом и можете проверить метод shoulVisit в классе craler.

for(int i=0;i<lista.size();i++){
    controller.addSeed(lista.get(i).toString()); 
    controller.start(Crawler.class, numberOfCrawlers);   
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню