我有一个问题加载链接列表;这些链路应该由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页面,但爬行列表的输出是空的。
您发布的代码显示了如何配置CrawlController。但是,如果您只需要抓取rss资源,则需要配置Crawler。逻辑属于爬虫的'shouldVisit'方法。查看下面的示例
你将在下面的代码中尝试,你可以检查应该访问方法在克拉尔类
for(int i=0;i<lista.size();i++){
controller.addSeed(lista.get(i).toString());
controller.start(Crawler.class, numberOfCrawlers);
}