java 利用jsoup 如何去除一段代码中的所有html标签,只留纯文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 利用jsoup 如何去除一段代码中的所有html标签,只留纯文本相关的知识,希望对你有一定的参考价值。

java 利用jsoup 如何去除一段代码中的所有html标签,只留纯文本

使用正则表达式去匹配<>这种字符,然后删掉! 参考技术A 用正则的哥们,你烦不烦?Jsoup提供了text()API啊。
比如 String content = doc.text();
doc就是你解析的html Document

Java | 技术应用 | 利用Jsoup处理页面

 

根据微信公众号的推文链接地址,对文章内容进行爬取,利用jsoup解析文章源代码,加上结合xpth提取文文章信息,

利用正则表达式读取文章发表时间。

Jsoup

 <!-- jsoup HTML parser library @ http://jsoup.org/ -->
        <dependency>
          <groupId>org.jsoup</groupId>
          <artifactId>jsoup</artifactId>
          <version>1.10.2</version>
        </dependency>

 

package search;

import java.io.File;
import java.io.IOException;

import java.util.regex.*;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class Files_process {
    
    public String[] get_content(String path) throws IOException {
        String[] content = new String[4];
        Document document = Jsoup.connect(path).get();
        
        ////*[@id="publish_time"]
        Elements em = document.select("script");
        ////*[@id="img-content"]
        //*[@id="js_content"]/section
        //获取主体内容
        Elements page_content = document.select("div#js_content");
        //*[@id="js_name"]
        //获取公众号名称
        Elements cname = document.select("a#js_name");
        content[0] = document.title();   //文章标题
        content[1] = cname.text();        //公众号名称
        content[2] = page_content.text();  //文章内容
        
        String code    = document.html();
        String str = "([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))";
        Pattern pattern = Pattern.compile(str);
        Matcher matcher = pattern.matcher(code);
        if(matcher.find())
            content[3] = matcher.group();
        return content; 
    }
    
}

 

package search;


public class processed {
    public static void main(String[] args) throws Exception {
          String[] content = null;
    
           Files_process fp = new Files_process();
               
          content =  fp.get_content("http://mp.weixin.qq.com/s?__biz=MjM5NTc5ODM4Ng==&mid=2650901488&idx=1&sn=2a9924f776bc9683ff8e1a1e66fa4214&chksm=bd0627ed8a71aefb07a81e3df3444bb20011ecaaab3050d9f11ccba6f4a66239943dc2784cc4#rd");
          System.out.println("msg_title: "+content[0]);
             System.out.println("nickname: "+content[1]);
             System.out.println("msg_content: "+content[2]);
             System.out.println("msg_time: "+content[3]);
             System.out.println("msg_link: "+"");
             System.out.println();
          
    }
}

 

以上是关于java 利用jsoup 如何去除一段代码中的所有html标签,只留纯文本的主要内容,如果未能解决你的问题,请参考以下文章

java爬虫利用Jsoup获取需要登陆的网站中的内容(无验证码的登录)

Java中解析HTML数据 (利用第三方库Jsoup)

Java | 技术应用 | 利用Jsoup处理页面

如何利用java的jsoup将class为name的id全部取下来zhang,li,wang,

Java中去除字符串中所有空格的几种方法

如何利用JAVA代码实现文件中某一行中某一段字符串的修改?