2013-06-30 2 views
0

Я использую jsoup для веб-сканера и столкнулся с другой проблемой. Мне нужна информация div, у которой нет класса, идентификатора или какого-либо специального указания. Он похоронен на странице. Вот оно:Выберите незначительный тег div, используя jsoup

<div class="column"> 
    <div class="form-label">Rate: </div> 
    <div>11.082/11.167</div> 
    <div class="form-label padding-top">High/Low: </div> 
    <div>1005.0/0.0004</div> 
</div> 

Мне нужно, чтобы получить 1-й набор цифр, но я не знаю, как я могу сказать jsoup я хочу их конкретно; есть ли у кого-нибудь советы?

ответ

1

Предполагая doc ваш объект Document ...

doc.select('.column > div:eq(1)'); 

должен выполнить эту работу, вы в основном выбираете родительский div по классу, а затем получаете весь chil d div, но отфильтруйте дочерний div, чтобы возвращался элемент с индексом 1 (это индекс на основе нуля, поэтому индекс 1 является вторым элементом)

Лично я переключился на jQuery, поскольку он использует далеко лучший селекторный двигатель, но каждый к своему ...

+0

Я посмотрю, если это сработает. Я использую jsoup только потому, что это предложил коллега. – TheNickmaster21

+0

Я предполагаю, что это неправильно ... \t \t System.out.println (doc.select ("column> div: eq (1)")); – TheNickmaster21

+0

'.select()' возвращает элемент как объект, чтобы получить текст внутри add '.text()' после него, поэтому он становится '.select (xxx) .text()' – Lee

1
  1. Выбрать все дивы с class="column"
  2. Loop через список выбранных элементов. Выберите первый DIV внутри вашего элемента, который имеет текст Rate:
  3. ваш текст находится внутри 2. DIV

К сожалению код форматирования работает разве o.0

public String getRage(Document document) { 
    for(Element e : document.getElementsByClass("column")) { 
     if(e.getElementsByTagName("div").get(0).ownText().equals("Rate: ")) { 
      return e.getElementsByTagName("div").get(1).ownText(); 
     } 
    } 

    return null; 
} 
+1

Ум, как вы думаете, вы могли бы дать мне немного синтаксиса? Я попробую свои собственные, но я довольно новичок в веб-соскабливании, особенно с jsoup. – TheNickmaster21

+0

Я добавил пример. –

+0

Он вернулся null: P – TheNickmaster21

Смежные вопросы