package dk.thoerup.traininfoservice.banedk; /* Work in progress * */ import java.net.URL; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.logging.Logger; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import dk.thoerup.android.traininfo.common.DepartureEntry; public class RejseplanenFetcher { Logger logger = Logger.getLogger(RejseplanenFetcher.class.getName()); SimpleDateFormat format = new SimpleDateFormat("HH:mm"); public String getNow() { return format.format( new Date() ); } public List lookupDepartures(int stationcode, String type, boolean arrival) throws Exception { List departureList = new ArrayList(); String uri = "http://www.rejseplanen.dk/bin/stboard.exe/mn?ml=m&input=" + stationcode + "&boardType=dep&time=" + getNow() + "&productsFilter=11111000001&selectDate=today&maxJourneys=200&start=yes"; Document doc = Jsoup.parse(new URL(uri), 2500); Element table = doc.getElementById("hafasSqResults"); if (table != null) { Elements tableRows = table.getElementsByTag("tr"); for (Element currentRow : tableRows) { String id = currentRow.id(); logger.info("tr.id=" + id); String rowClass = currentRow.attr("class"); if (rowClass != null && rowClass.indexOf("sqToggleDetails") != -1 ) { Elements fields = currentRow.getElementsByTag("td"); logger.severe("td count=" + fields.size()); if (fields.size() == 0) continue; for (int f=0; f