【发布时间】:2013-12-09 08:51:04
【问题描述】:
大家好,我正在尝试从 url 中提取数据。 这是我的简单代码:
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”。 我怎样才能做到这一点?还有,如何将数据一一保存到String?
【问题讨论】:
-
仔细看一下for循环中的语句:
String onlyData = proxies_tds.text();尝试将proxies_tds更改为proxies_td;毕竟,您想将text()应用于每个单独的单元格。 -
@MCL 谢谢。我解决了这个问题。谢谢你。圣诞快乐!
-
也送给你。那你能把它作为答案发布吗?
-
@MCL 我是 stackoverflow 的新手。我该怎么做?
-
向下滚动并在您的答案下的文本字段中输入答案。一定时间后,您将能够通过单击其旁边的复选标记来接受它。
标签: java parsing html-parsing jsoup