2013-12-09 30 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