package com.infobip.jsouptest;
import java.io.IOException;
import java.util.*;
import java.util.concurrent.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args ) throws IOException
{
ExecutorService executorService = Executors.newFixedThreadPool(5);
List<Future<Document>> handles = new ArrayList<Future<Document>>();
List<Callable<Document>> requests = new ArrayList<Callable<Document>>();
Document d = Jsoup.connect("http://www.betexplorer.com/results/").timeout(0).get();
Elements elements = d.select("a");
Iterator<Element> it = elements.iterator();
Element e;
while(it.hasNext()) {
e = it.next();
//System.out.println(e.attr("href"));
if (e.attr("href").startsWith("/soccer")) {
requests.add(new Request("http://www.betexplorer.com"+e.attr("href")));
}
}
System.out.println("soccer requests size : "+requests.size());
System.out.println(Arrays.deepToString(requests.toArray()));
for (Callable<Document> request : requests) {
handles.add(executorService.submit(request));
}
for (Future<Document> h : handles) {
try {
d = h.get();
System.out.println(d.title());
}
catch (Exception ex) {
ex.printStackTrace();
}
}
executorService.shutdownNow();
}
}