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的库,其中比较常用的是Jsoup。Jsoup是一个开源的Java HTML解析器,它提供了简单、灵活且易于使用的API,可以方便地从HTML文档中提取数据。 使用Jsoup解析HTML的基本步骤如下: 1. 导入Jsoup库:在Java项目中,首先需要导入Jsoup库。可以通过在项目的构建文件中添加依赖,或者手动下载并导入Jsoup的JAR文件来实现。 2. 获取HTML文档:使用Jsoup的connect()方法连接到指定的URL,或者使用parse()方法将HTML字符串解析为Document对象。 3. 使用选择器提取数据:Jsoup提供了类似于CSS选择器的语法,可以通过选择器来定位HTML文档中的元素。可以使用select()方法来选择元素,并使用text()、html()等方法获取元素的文本内容或HTML代码。 4. 处理提取到的数据:根据需要对提取到的数据进行处理,例如存储到数据库、写入文件或展示在页面上等。 以下是一个简单的示例代码,演示了如何使用Jsoup解析HTML并提取标题和链接: ```java import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class HtmlParserExample { public static void main(String[] args) { try { // 获取HTML文档 Document doc = Jsoup.connect("http://example.com").get(); // 使用选择器提取数据 Elements links = doc.select("a[href]"); for (Element link : links) { String title = link.text(); String url = link.attr("href"); System.out.println("Title: " + title); System.out.println("URL: " + url); } } catch (Exception e) { e.printStackTrace(); } } } ``` 这是一个简单的示例,你可以根据具体的需求使用Jsoup提供的更多功能来解析和处理HTML文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值