【问题标题】:How can I extract data from Jsoup parser library?如何从 Jsoup 解析器库中提取数据?
【发布时间】: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


【解决方案1】:

仔细查看 for 循环中的语句:String onlyData = proxies_tds.text(); 尝试将 proxies_tds 更改为 proxies_td; 毕竟,您想将 text() 应用于每个单独的单元格。 –MCL的学分

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 2014-05-31
    • 2020-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多