簡體   English   中英

Jsoup - 從href屬性中選擇值

[英]Jsoup - Select the value from href attribute

HTML代碼(不是來自我的網站,所以我無法改變它)看起來像這樣:

<div id="resulttable"> 
 <div class="dirlist"> 
  <div class="stationcol" style="width:428px;"> 
   <a href="http://whatever.com?id=xxx" title="Whatever" class="playbutton playimage" name="whatever" id="105867"></a> 
   <div class="videoBody"> 
    <div class="gridModule"> 
     <div class="surrogate"> 
      <div id="thumbnail105867" class="thumbnail"> 
       <a class="playbutton clickabletitle" name="whatever" id="105867" title="Whatever" href="http://whatever.com?id=xxx"> Bla </a>
</div></div></div></div></div></div></div>

這是我的代碼:

Document doc = Jsoup.parse(result);
Elements hrefs = doc.select("div.stationcol a[href]");
StringBuilder links = new StringBuilder();

for (Element href : hrefs) {
    links.append(href.text());
}

String httplinks = links.toString();
System.out.println("TEST: " + httplinks);

輸出如下:

I/System.out(10451): Link1http://www.whatever.c...Link2http://www.test.c...

我真正需要的是一個包含Urls的ArrayList ,也可能是一個包含Titles的獨立ArrayList

有人可以幫我嗎?

你的意思是這樣的嗎?

ArrayList<String> titles = new ArrayList<String>();
ArrayList<String> urls = new ArrayList<String>();

Document doc = Jsoup.parse(result);
Elements links = doc.select("div.stationcol > a[href]");

for (Element e : links) {
    titles.add(e.attr("title"));
    urls.add(e.attr("href"));
}

System.out.println(titles);
System.out.println(urls);

這將輸出示例代碼中兩個ArrayLists的內容,例如:

[Whatever]
[http://whatever.com?id=xxx]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM