2014-10-29 5 views
0

я ищу, чтобы получить данные из этой страницы: http://www.sportinglife.com/greyhounds/racecards/29-10-2014/belle-vueJava jSoup - получить данные из веб-таблиц

Я использую jSoup и Java, но не могу показаться, чтобы получить данные, которые я ищу. Мне нужно время каждой гонки (Перейти к: 14:18 14:37 14:57 15:17 15:38 15:58 16:18 16:37 16:57 17:17 17:33 17:47 18:04 18:18) и ссылку, на которую ссылается каждая из них.

Затем мне нужно перейти к каждой ссылке и распечатать 6 собак в каждой гонке.

Так что выход будет выглядеть так:

14:18 
1 Golden Light 
2 Always Late 
3 Redley Rooster 
4 Redstone Bo Dhu 
5 Ballymac Oprah 
6 Ballyhill Slide 

Для каждой расы.

Мой текущий код приведен ниже и использует jSoup для извлечения бегунов из гонки - но я не могу сделать первый шаг, чтобы получить «раз» гонки и ссылки на каждую страницу гонки, чтобы я мог пройти через ссылки и вывод бегунов для каждой гонки.

 Document doc = Jsoup.connect(
      "http://www.sportinglife.com/greyhounds/racecards/29-10-2014/belle-vue/card/834800").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 
      String dog = element.select("td:eq(0)").text(); 
      String race = element.select("td:eq(2)").text(); 
      data.put(dog, race); 
      System.out.println(dog + " " + race); 

     } 

Любая помощь очень ценится .... спасибо! Роб

+0

Зачем вам ссылки, на которые они ссылаются? –

+0

Мне нужны ссылки, на которые они ссылаются, чтобы я мог перемещаться по ссылкам и выводить 6 собак для каждой гонки. Если нет более простого способа сделать это только с первой страницы? –

+0

Вы можете прокручивать все разделы. Каждый раздел содержит время, а также таблицу. Каждая строка этой таблицы содержит информацию, необходимую о собаках. –

ответ

1

Глядя на вашу страницу, информация гонки не непосредственно во втором TD, но в ссылке (a) во втором TD, то вам нужно заменить:

String race = element.select("td:eq(2)").text(); 

с:

String race = element.select("td:eq(2) a").text(); 
Смежные вопросы