2016-01-28 4 views
0

Я пытаюсь сделать экран соскоб на твиттере, я использую библиотеку Jsoup и это образец HTML-код страницы:Как получить идентификаторы в пределах HTML-теги

<div class="stream permalink-stream"> 
    <ol id="stream-items-id" class="stream-items js-navigable-stream"> 
    <li id="stream-item-tweet-692459333712347137" class="js-stream-item stream-item stream-item expanding-stream-item " data-item-type="tweet" data-item-id="692459333712347137"> 
    <li id="stream-item-tweet-692470683348123649" class="js-stream-item stream-item stream-item expanding-stream-item " data-item-type="tweet" data-item-id="692470683348123649"> 
    <li id="stream-item-tweet-692489785978523648" class="js-stream-item stream-item stream-item expanding-stream-item " data-item-type="tweet" data-item-id="692489785978523648"> 
    </ol> 
    <ol class="hidden-replies-container"></ol> 
</div> 

, что Сначала я пытаюсь получить все идентификаторы тегов li на веб-странице, чтобы использовать их после цикла, чтобы получить текст внутри каждого тега li.

результат я хочу, это что-то вроде:

  • id1 = поток-позиционным-твит-692459333712347137
  • id2 = поток-позиционным-твит-692489785978523648
  • id3 = россыпного пункт-твит -692489785978523648

Я пытался что-то вроде с Jsoup, но он не работает:

Elements scriptElements = doc.getElementsByTag("li");  

for (Element element :scriptElements){     
        for (DataNode node : element.dataNodes()) { 
         System.out.println(node.getWholeData()); 
        } 

       } 

спасибо!

+1

У вас есть классы, чтобы иметь дело с: ('JS-поток-item.stream-элемент') '' $ даст вам эти элементы! – Rayon

+0

'var array = $ ('# stream-items-id .stream-item [id]'). Map (function() {return this.id;}). Get();' –

+0

Я бы сделал $ (" * "). each (function() {var id = $ (this) .attr (" id ");}); Добавьте его в массив каждого цикла. если я правильно понял вас и просто хотел получить все идентификаторы всех элементов, имеющих идентификатор. – Casey

ответ

0

вот пример:

$('ol').find('li').each(function(k,v) 
{ 
    alert('id = ' + $(this).attr('id')); 
}); 
+0

Может быть много элементов «ol». Вам нужно быть конкретным .. – Rayon

+0

@ RayonDabre просто дает ему идею .. –

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