Java中使用 jsoup 提取本地HTML页面的标签内容

本文介绍如何在Java项目中通过jsoup库来读取和提取本地HTML文件的标签信息,包括引入Maven依赖及具体代码实现。

1.引入maven依赖

<!-- jsoup -->
<dependency>
  <groupId>org.jsoup</groupId>
  <artifactId>jsoup</artifactId>
  <version>1.10.2</version>
</dependency>

2.代码

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;


public class JsoupTest {
 /**
  * 读HTML文件
  * @param pathname
  * @return
  */
  public static String readHtml(String path) {
    StringBuffer buff = new StringBuffer();
    // 建立一个对象,它把文件内容转成计算机能读懂的语言
    try (FileReader reader = new FileReader(path); BufferedReader br = new BufferedReader(reader)) {
        String line;
        int count = 0;
        while ((line = br.readLine()) != null) {
          // 一次读入一行数据
          buff.append(line);
          count++;
        }
    } catch (IOException e) {
      e.printStackTrace();
    }
    return buff.toString();
  }

 /**
  * jsoup方法中 text() :用于获取获取标签的文本 html() :获取标签里面的所有字符串包括html标签
  * attr(attributeKey)获取属性里面的值,参数是属性名称
  */
  public static void main(String[] args) {
    try {
        // 本地html存放路径
        String file_path = "D:\\index.html";
        // 读取html获取文档
        String html = readHtml(file_path);
        Document document = Jsoup.parse(html);
        // 通过select获取元素
        // 一个页面中的class可能会重复,为避免取多余的数据,
        // 先取部分区域的数据,然后再从这部分区域数据中取出真正需要的数据
        // 格式: class用"#"、id用"."、标签用h1  例如:   div.title_area>h1
        Elements div = document.select(".content_18313");// 外层部分区域标签内的数据
        Elements title = div.select(".title_area>h1");// 真正需要标签内的数据
        System.out.println("打印最终结果:" + title.text());
    } catch (Exception e) {
        e.printStackTrace();
    }
  }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学弟不想努力了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值