【发布时间】:2014-05-07 11:10:52
【问题描述】:
我正在尝试从 html 文件中提取文本和链接。目前我可以使用 JSoup 轻松提取两者,但我只能单独进行。
这是我的代码:
try {
doc = (Document) Jsoup.parse(new File(input), "UTF-8");
Elements paragraphs = ((Element) doc).select("td.text");
for(Element p : paragraphs){
// System.out.println(p.text()+ "\r\n" + "***********************************************************" + "\r\n");
getGui().setTextVers(p.text()+ "\r\n" + "***********************************************************" + "\r\n");
}
Elements links = doc.getElementsByTag("a");
for (Element link : links) {
String linkHref = link.attr("href");
String linkText = link.text();
getGui().setTextVers("\n\n"+link.text() + ">\r\n" +linkHref + "\r\n");
}
}
我在有文本的最外面的 td 上放置了一个 .text 类。我想要实现的是:当程序找到一个带有 .text 类的 td 时,它会检查它是否有任何链接,并按顺序从该部分中提取它们。所以你会:
文字
链接
文字
链接
我尝试将每个循环的内部循环放入第一个 foreach 循环,但这只会打印页面的完整链接列表,有人可以帮忙吗?
【问题讨论】:
标签: java html parsing foreach jsoup