В настоящее время у меня есть следующий код, который получает таблицу с веб-страницы и помещает элементы в HashMap (я думаю).Получить элементы из HashMap в Java?
Document doc = Jsoup.connect(
"http://www.sportinglife.com/greyhounds/abc-guide").get();
Element tableHeader = doc.select("tbody").first();
Map<String, String> data = new HashMap<>();
for (Element element : tableHeader.children()) {
// Here you can do something with each element
if (element.text().indexOf("Pelaw Grange") > 0
|| element.text().indexOf("Shawfield") > 0
|| element.text().indexOf("Shelbourne Park") > 0
|| element.text().indexOf("Harolds Cross") > 0) {
// do nothing
} else {
String dog = element.select("td:eq(0)").text();
String race = element.select("td:eq(1)").text();
data.put(dog, race);
}
}
analyseRunners(data);
}
Это, кажется, работает нормально, и теперь мне нужно, чтобы запустить еще один метод «analyseRunners», где он должен пройти через каждый из собак и использовать это имя «собака», чтобы получить доступ к другой веб-страницы, где есть другая Таблица. Вот то, что я до сих пор ...
String dogPage = "http://www.gbgb.org.uk/raceCard.aspx?dogName=" + dog;
Document doc1 = Jsoup.connect(dogPage).get();
int firsts = 0, seconds = 0, thirds = 0;
Element tblHeader = doc1.select("tbody").first();
for (Element element1 : tblHeader.children()){
String position = element1.select("td:eq(4)").text();
if (position.equals("1st")){
firsts++;
} else if (position.equals("2nd")){
seconds++;
} else if (position.equals("3rd")){
thirds++;
} else {
//do nothing
}
}
System.out.println("Firsts: " + firsts);
System.out.println("Seconds: " + seconds);
System.out.println("Thirds: " + thirds);
Как вы можете видеть, что я пытаюсь перейти на веб-страницу в jSoup, используя «собака» из первого метода выше ... это не работает он говорит, что «собака» не может быть решена. Как я могу получить имя собаки из HashMap и прокрутить каждую собаку, чтобы определить, сколько у нее 1-го, 2-го и 3-го уровней? (Пятая колонка на этой странице: http://www.gbgb.org.uk/raceCard.aspx?dogName=A%20Real%20Legend)
'для (String собаки: data.keySet()) {// использовать собаку}' –