2013-12-09 55 views
-1

你好,我試圖從一個URL中提取數據。 這是我簡單的代碼:如何從Jsoup解析器庫中提取數據?

import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 

public class GetProxyServer { 
public static void main(String args[]) throws Exception { 

    String url = "http://proxy.dongsuya.net/proxy_speed.php"; 
    Document doc = Jsoup.connect(url).get(); 
    Element proxyTable = doc.getElementById("proxy_table"); 
    Elements proxies_tds = proxyTable.select("td:contains(:)"); 
    System.out.println(proxies_tds); 
    } 
} 

現在我可以從控制檯中看到這樣的:

<td class="col_B">110.4.12.170:81</td> 
<td class="col_B">202.171.253.83:84</td> 
<td class="col_A">y094228.ppp.asahi-net.or.jp:80</td>... 

的問題是,我無法裏面提取數據。我只想帶「110.4.12.170:81」。 我試試這個:

for (Element proxies_td : proxies_tds){ 
     String onlyData = proxies_tds.text(); 
    } 

但我不能顯示到控制檯變量「onlyData」。 我該怎麼做?還有,如何將數據逐個保存爲字符串?

+1

仔細看看for循環中的語句:'String onlyData = proxies_tds.text();'嘗試將'proxies_tds'改爲'proxies_td';畢竟,你想要將'text()'應用到每個單獨的單元格。 – MCL

+0

@MCL謝謝。我解決了這個問題。謝謝。哈娃,祝你聖誕快樂! – JuntaeKim

+0

也給你。那麼你可以把它作爲答案發布嗎? – MCL

回答

0

請仔細看看for循環中的語句:String onlyData = proxies_tds.text();嘗試更改proxies_tdsproxies_td;畢竟,您要將text()應用於每個單獨的單元格。 -Credits to MCL