import org.jsoup.Jsoup class MensaParser { fun getMensaMenu() { val menuHTML = Jsoup.connect("https://www.swfr.de/de/essen-trinken/speiseplaene/mensa-offenburg/").get() menuHTML.select("#speiseplan-tabs").select("div.tab-content").select("div.menu-tagesplan").forEachIndexed { index, element -> var day = element.select("h3").text() for (i in 0 .. (element.select("div.row h4").size - 1)) { try { var heading = element.select("div.row h4")[i].text() var parts = ArrayList(element.select("div.row").select("div.menu-info")[i].html().substringBefore("", "|").split("|")) var additives = element.select("div.row").select("div.menu-info")[i].select("span.show-with-allergenes").text() mealList.add(Meal(day, heading, parts, additives)) } catch (e: Exception) { // catch } } } } // TODO The following code can be removed fun printMensaMenu(mealList: ArrayList) { for (meal in mealList) { printMeal(meal) } println() } fun printDayMenu(mealList: ArrayList, day: Int) { var strDay: String = when(day) { 0 -> "Mon" 1 -> "Die" 2 -> "Mit" 3 -> "Don" 4 -> "Fre" 5 -> "Sam" else -> "TODAY" //TODO } for (meal in mealList) { if (meal.day.contains(strDay)) printMeal(meal) } } fun printMeal(meal: Meal) { println(meal.day) println(meal.heading) for (part in meal.parts) { print(part) } println("\n" + meal.additives + "\n\n") } }