2014-10-18 2 views
0

현재 웹 페이지에서 표를 가져와 HashMap에 요소를 넣는 다음 코드가 있습니다 (필자 생각).Java에서 HashMap의 요소 가져 오기?

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)

+2

'에 대한 (문자열 개 : data.keySet()) {// 개를 사용}' –

답변

0

루프에서 데이터를지도에 개 이름을 사용

for(String dog : data.keySet()) 
{ 
    // use dog as required 
} 
0

먼저지도의 키 목록을 반복하고 사용할 수있는 개를 얻을. 는 그 내부 로직을 처리 ..

for (String dog: data.keySet()) { 
 

 
    String dogPage = "http://www.gbgb.org.uk/raceCard.aspx?dogName=" + dog; 
 
    Document doc1 = Jsoup.connect(dogPage).get(); 
 
    .................... 
 
}