java解析HTML,并写入TXT

package foo;


import java.io.File;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Iterator;
import java.util.List;


import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
/**
* 解析HTML,并写入到TXT。
* @author Administrator
*
*/
public class ReadHtml {

public static void main(String[] args) throws IOException {

//输出打印流

PrintStream ps = new PrintStream(new File("E:\\test\\result.txt"));

Document doc;

doc = Jsoup.parse(new File("E:\\test\\list.html") , "UTF-8");

//获取所有的<tr></tr>

List<Element> list = doc.select("tr");
Iterator<Element> iter = list.iterator();
String newName = null;
String oldName = "";
while (iter.hasNext()) {
Element ele = iter.next();
List<Element> tds = ele.select("td");
// 统一格式(即<tr>标签内都有5个<td></td>的才解析)

if (tds.size() == 5) {

//过滤掉某些内容

if ("撤销建制".equals(tds.get(2).text()) || "新建".equals(tds.get(2).text()) || "去筹新建".equals(tds.get(2).text())) {
continue;
}
List<Element> as = tds.get(3).select("td");
if (as.size() > 0) {
for (Element a : as) {
// 有多个学校名称合并的,以“,”分隔
oldName += a.text().replace(" ", ",") + ",";
}
} else {
oldName = tds.get(3).text();
}
if (oldName.endsWith(",")) {
oldName = oldName.substring(0, oldName.length() - 1);
}
newName = tds.get(1).text();
ps.println(newName + "," + oldName);
System.out.println(newName + "," + oldName);
}
oldName = "";
}
ps.close();
}


}

你可能感兴趣的:(java,html)