如何在html标签中获取id

时间:2016-01-28 04:52:48

标签: javascript jquery html

我试图在Twitter上进行屏幕抓取,我正在使用Jsoup库,这是该页面的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标签的所有ID,然后在循环中使用它们以获取每个li标签内的文本。

我想要的结果是:

  • id1 = stream-item-tweet-692459333712347137
  • id2 = stream-item-tweet-692489785978523648
  • id3 = stream-item-tweet-692489785978523648

我尝试过像Jsoup一样的东西,但它不起作用:

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

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

              }

谢谢!

1 个答案:

答案 0 :(得分:0)

这是一个例子:

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