精华内容
下载资源
问答
  • * 去除html代码含有的标签 * @param htmlStr * @return */ public static String delHtmlTags(String htmlStr) { //定义script的正则表达式,去除js可以防止注入 String scriptRegex="<script...
    /**
         * 去除html代码中含有的标签
         * @param htmlStr
         * @return
         */
        public static String delHtmlTags(String htmlStr) {
            //定义script的正则表达式,去除js可以防止注入
            String scriptRegex="<script[^>]*?>[\\s\\S]*?<\\/script>";
            //定义style的正则表达式,去除style样式,防止css代码过多时只截取到css样式代码
            String styleRegex="<style[^>]*?>[\\s\\S]*?<\\/style>";
            //定义HTML标签的正则表达式,去除标签,只提取文字内容
            String htmlRegex="<[^>]+>";
            //定义空格,回车,换行符,制表符
            String spaceRegex = "\\s*|\t|\r|\n";
     
            // 过滤script标签
            htmlStr = htmlStr.replaceAll(scriptRegex, "");
            // 过滤style标签
            htmlStr = htmlStr.replaceAll(styleRegex, "");
            // 过滤html标签
            htmlStr = htmlStr.replaceAll(htmlRegex, "");
            // 过滤空格等
            htmlStr = htmlStr.replaceAll(spaceRegex, "");
            return htmlStr.trim(); // 返回文本字符串
        }
        /**
         * 获取HTML代码里的内容
         * @param htmlStr
         * @return
         */
        public static String getTextFromHtml(String htmlStr){
            //去除html标签
            htmlStr = delHtmlTags(htmlStr);
            //去除空格" "
            htmlStr = htmlStr.replaceAll(" ","");
            return htmlStr;
        }
    
    展开全文
  • 我们后台添加编辑文章使用的是编辑器,文章内容会带有很多html标签和css样式。RSS订阅展示新闻列表,只需要展示一部分文章内容,这就需要处理文章页的html代码,去除标签,抓取文章文字内容,下面讲一下怎么做,主要...
           现在在做政府网站,网站里有很多公开信息和政务咨询的新闻,现在需要做新闻的RSS订阅功能,其中有一项是需要处理文章页的内容。我们后台添加编辑文章使用的是编辑器,文章内容会带有很多html标签和css样式。RSS订阅展示新闻列表,只需要展示一部分文章内容,这就需要处理文章页的html代码,去除标签,抓取文章文字内容,下面讲一下怎么做,主要是java的正则表达式和replaceAll()方法。
     
    /**
     * 去除文章内容页页面代码里的HTML标签
     * Created by yanyl on 2018/6/4.
     */
    public class DelTagsUtil {
        /**
         * 去除html代码中含有的标签
         * @param htmlStr
         * @return
         */
        public static String delHtmlTags(String htmlStr) {
            //定义script的正则表达式,去除js可以防止注入
            String scriptRegex="<script[^>]*?>[\\s\\S]*?<\\/script>";
            //定义style的正则表达式,去除style样式,防止css代码过多时只截取到css样式代码
            String styleRegex="<style[^>]*?>[\\s\\S]*?<\\/style>";
            //定义HTML标签的正则表达式,去除标签,只提取文字内容
            String htmlRegex="<[^>]+>";
            //定义空格,回车,换行符,制表符
            String spaceRegex = "\\s*|\t|\r|\n";
    
            // 过滤script标签
            htmlStr = htmlStr.replaceAll(scriptRegex, "");
            // 过滤style标签
            htmlStr = htmlStr.replaceAll(styleRegex, "");
            // 过滤html标签
            htmlStr = htmlStr.replaceAll(htmlRegex, "");
            // 过滤空格等
            htmlStr = htmlStr.replaceAll(spaceRegex, "");
            return htmlStr.trim(); // 返回文本字符串
        }
        /**
         * 获取HTML代码里的内容
         * @param htmlStr
         * @return
         */
        public static String getTextFromHtml(String htmlStr){
            //去除html标签
            htmlStr = delHtmlTags(htmlStr);
            //去除空格" "
            htmlStr = htmlStr.replaceAll(" ","");
            return htmlStr;
        }
    
        public static void main(String[] args){
            String htmlStr= "<script type>var i=1; alert(i)</script><style> .font1{font-size:12px}</style><span>少年中国说。</span>红日初升,其道大光。<h3>河出伏流,一泻汪洋。</h3>潜龙腾渊, 鳞爪飞扬。乳 虎啸  谷,百兽震惶。鹰隼试翼,风尘吸张。奇花初胎,矞矞皇皇。干将发硎,有作其芒。天戴其苍,地履其黄。纵有千古,横有" +
                    "八荒。<a href=\"www.baidu.com\">前途似海,来日方长</a>。<h1>美哉我少年中国,与天不老!</h1><p>壮哉我中国少年,与国无疆!</p>";
            System.out.println(getTextFromHtml(htmlStr));
        }
    
    }
    
    main方法运行结果:
    少年中国说。红日初升,其道大光。河出伏流,一泻汪洋。潜龙腾渊,鳞爪飞扬。乳虎啸谷,百兽震惶。鹰隼试翼,风尘吸张。奇花初胎,矞矞皇皇。干将发硎,有作其芒。天戴其苍,地履其黄。纵有千古,横有八荒。前途似海,来日方长。美哉我少年中国,与天不老!壮哉我中国少年,与国无疆!
    


    展开全文
  • * 得到网页图片的地址 * @param htmlStr html字符串 * @return List<String> */ private List<String> getImgStr(String htmlStr) { List<String> pics = new ArrayList<String>();...
  • jsoup获取meta标签、jsoup获取img标签、jsoup获取a标签、jsoup获取h标签、Java解析HTML标签 主要是对一个网页的meta、a、img等对SEO有有益的标签 主要代码:(熟悉Jsoup的看这块就行了,直接复制除实体对象外即可...

    jsoup获取meta标签、jsoup获取img标签、jsoup获取a标签、jsoup获取h标签、Java解析HTML标签

    主要是对一个网页的meta、a、img等对SEO有有益的标签

    主要代码:(熟悉Jsoup的看这块就行了,直接复制除实体对象外即可使用)

    package com.spider.common.jsoup;
    
    import com.spider.common.jsoup.entity.HData;
    import com.spider.common.jsoup.entity.HrefData;
    import com.spider.common.jsoup.entity.ImgData;
    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * 作用:对一个网页的基本解析操作
     * 作者:Tiddler
     * 时间:2018-08-2018/8/3 17:54
     * 类名:BaseParser
     **/
    public class BaseParser {
        private final static Logger log= LogManager.getLogger(BaseParser.class);
        private Document document;
        public BaseParser(Document document) {
            this.document = document;
        }
    
        /**
         * 获取网页中meta标签的keywords值
         * @return
         */
        public String getMetaKeyword(){
            Elements attr = document.select("meta[name=keywords]");
            if(attr!=null){
                Element element = attr.get(0);
                return element.attr("content");
            }
            return null;
        }
    
        /**
         * 获取网页中meta标签的description值
         * @return
         */
        public String getMetaDescription(){
            Elements attr = document.select("meta[name=description]");
            if(attr!=null){
                Element element = attr.get(0);
                return element.attr("content");
            }
            return null;
        }
    
        /**
         * 获取页面中所有的a标签
         * @return
         */
        public List<HrefData> getHrefs(){
            Elements attr = document.getElementsByTag("a");
            List<HrefData> hrefDataList=new ArrayList<HrefData>();
            for (Element element : attr) {
                //实体对象构造方法,代码省略
                HrefData hrefData=new HrefData(element.attr("href"),element.attr("title"),element.text());
                hrefDataList.add(hrefData);
            }
            return hrefDataList;
        }
    
        /**
         * 获取页面中所有img标签
         * @return
         */
        public List<ImgData> getImgs(){
            Elements attr = document.getElementsByTag("img");
            List<ImgData> imgDataList=new ArrayList<ImgData>();
            for (Element element : attr) {
                ImgData imgData=new ImgData(element.attr("src"),element.attr("alt"));//实体对象构造方法,代码省略
                imgDataList.add(imgData);
            }
            return imgDataList;
        }
    
        /**
         * 获取页面中的h标签
         * @return
         */
        public List<HData> getHs(){
            List<HData> hDataList=new ArrayList<HData>();
            Elements attr1 = document.getElementsByTag("h1");
            for (Element element : attr1) {
                HData hData=new HData("h1",element.text());//实体对象构造方法,代码省略
                hDataList.add(hData);
            }
            Elements attr2 = document.getElementsByTag("h2");
            for (Element element : attr2) {
                HData hData=new HData("h2",element.text());
                hDataList.add(hData);
            }
            return hDataList;
        }
    }
    

    使用到的相关类:

    启动测试类

    /**
     * 作用:
     * 作者:Tiddler
     * 时间:2018-08-2018/8/3 17:51
     * 类名:ParserTest
     **/
    public class ParserTest {
        public static void main(String[] args) {
            Document doc = GetDocument.get("https://blog.csdn.net/qq_31384551/article/details/81327255");
            BaseParser baseParser=new BaseParser(doc);
            System.out.println(baseParser.getMetaKeyword());
    
        }
    }

    获取Document的类

    /**
     * 作用:
     * 作者:Tiddler
     * 时间:2018-08-2018/8/3 17:47
     * 类名:GetDocument
     **/
    public class GetDocument {
        /**
         * 传入一个ULR地址,转为Document给jsoup解析
         * @param url
         * @return
         */
        public static Document get(String url){
            String docStr= CreateRequest.doGET(url);
            Document parse = Jsoup.parse(docStr);
            return parse;
        }
    }

    网络请求类

    /**
     * 作用:发起一个http请求,使用okhttp请求,包含GET和POST请求
     * 作者:Tiddler
     * 时间:2018-08-2018/8/3 16:00
     * 类名:CreateRequest
     **/
    public class CreateRequest {
        private final static Logger log= LogManager.getLogger(CreateRequest.class);
    
        /**
         * GET请求一个地址,并且获取那个地址返回的页面文本
         * @param reqUrl
         * @return
         */
        public static String doGET(String reqUrl){
            if(reqUrl.indexOf("http")==-1){
                reqUrl="http://"+reqUrl;
            }
            String responseContext = null;
            OkHttpClient client = new OkHttpClient();
            //加入一些请求头信息,可以针对大多数做了防爬虫的网页
            Request request = new Request.Builder().url(reqUrl)
                    .addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36")
                    .addHeader("Cookie", "__DAYU_PP=RM6n2mRjmN72jmMj6EEA2a6864d9cc44; _user_behavior_=29bcd06e-a622-4d37-b695-49184ee40871; oscid=18%2B24OHTNObWgBnHCgtLk300eOsXufOKvWH7QK2Ay9CElLuXYaxAILHsw%2BFaKg1sSis1yBGy7tIqZvBCa6l2GXK7Ft8x8NKATm2Iv45JfYRCEpskLpjxpFOZFGHfR3E%2Bqrobjhd%2B3XuDy3ECR9VTzQ2rz4u0Uy1sg97o1G38qCs%3D; bad_id8387c580-a888-11e5-bc38-bb63a4ea0854=1e27ba51-469d-11e8-927f-c364363c7a3c; banner_osc_scr0710=1; aliyungf_tc=AQAAADP46lC7EwoA1NhXZUbBIrn2AIIq; Hm_lvt_a411c4d1664dd70048ee98afe7b28f0b=1531212092,1531352328,1531378414; Hm_lpvt_a411c4d1664dd70048ee98afe7b28f0b=1531384849")
                    .get()
                    .build();
            try {
                Response response = client.newCall(request).execute();
    //            log.debug(response.headers().size());
    //            for(int i=0;i<response.headers().size();i++){
    //                log.debug(response.headers().name(i)+"\t"+response.headers().get(response.headers().name(i)));
    //            }
                byte[] bytes = response.body().bytes();
                responseContext = new String(bytes,"utf-8");
            } catch (Exception e) {
                e.printStackTrace();
            }
            return responseContext;
        }
    
    }

    好了,基本就这样子了,熟悉Jsoup的其实只要看第一块代码就OK啦!

    展开全文
  • java获取标签指定内容

    千次阅读 2019-09-11 13:46:34
    需要处理HTML片断 (一个不完整的HTML文档),从中提取a标签中href的内容 方法 引入Jsoup,maven依赖导入地址链接 代码实例 有段字符串包含许多标签,href有两个,我们取出第一个: String html = "<p style="line...

    问题

    需要处理HTML片断 (一个不完整的HTML文档),从中提取a标签中href的内容

    方法

    引入Jsoup,maven依赖导入地址链接(博主使用版本为1.11.3)

    代码实例

    有段字符串包含许多标签,href有两个,我们取出第一个:

    String html = "<p style="line-height: 16px;"><img src=""/><a style="" href="" title="测试1">测试1</a></p><p style="line-height: 16px;"><img src=""/><a style="" href="" title="测试2">测试2</a></p>";
    Document doc = Jsoup.parseBodyFragment(html);
    Element e_a =doc.getElementsByTag("a").get(0);//得到第一个a标签内容
    String href = e_a.attr("href");
    

    :Jsoup.parseBodyFragment和Jsoup.parse的区别:
    parseBodyFragment 方法创建一个空壳的文档,并插入解析过的HTML到body元素中。假如使用 Jsoup.parse方法,也可以得到相同的结果。但是使用Jsoup.parseBodyFragment明确将用户输入作为 body片段处理,确保用户所输入的任何糟糕的HTML都将被解析成body元素。

    展开全文
  • java获取htmll标签内容

    千次阅读 2018-08-23 14:23:08
    import org.jsoup.Jsoup; ...String data = 网址的内容;   Document root = Jsoup.parse(data);  String url =root.getElementsByTag("iframe").first().attr("src");...
  • 这里的获取的是html文件body的所有标签以及内容 package com.lmt.service.file; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io....
  • HTML中从多选下拉框提取已选中选项的文本内容到后台,被这个问题难倒了。 demo.jsp文件 请选择 ${typeList}" var="typeList"> ${typeList.id}">${typeList.name} 如上代码,想过用设置隐藏域...
  • java获取html文档的所有img标签

    千次阅读 2015-11-22 10:15:41
    啥都不说直接贴代码输输出结果
  • JAVA获取html网页的图片src内容

    千次阅读 2018-01-11 16:35:41
    有很多时候会有这样的需求,获取一个网页图片的路径,在Java中,可以使用Pattern类、Matcher类,配合正则表达式来获取一个字符串需要的特定内容。 首先来看一下网页一个标签所处的位置,例如:String content...
  • 文章可以嵌入视频,视频使用了H5的video 标签,我需要提取出视频的URL地址,用于做视频鉴黄等操作。 代码实现 本例子一共用了三个文件,分别是 RegexUtils.java、VideoTagUtils.java 和 Main.java。其中 ...
  • java过滤html标签获取纯文本信息

    千次阅读 2018-07-05 00:07:18
    转载自 java过滤html标签获取纯文本信息package com.lyt.base.util; import java.util.regex.Pattern; public class FilterHtmlUtil { public static String Html2Text(String inputString){ String htmlStr ...
  • java获取HTML纯文本内容 body

    千次阅读 2017-12-19 14:47:35
    java提取HTML纯文本
  • Java正则表达式过滤html中标签

    千次阅读 2019-05-21 18:29:58
    今天在写项目发现,发布一篇文章包含图片时数据库里存入的包含html标签,在文章列表会显示这些标签,而不是过滤掉这些标签只展示内容,记录一下后台过滤的方法: package com.util; /**去除内容中html标签*/ ...
  • * 获取img标签的src * */ public static String getImgSrc(String content){ List<String> list = new ArrayList<String>(); //目前img标签标示有3种表达式 //<img alt="" src="1.jpg"/> &l...
  • 的data-id跟标签内容 <span contenteditable="false" data-id="1004435" style="color: #598cf2; cursor: pointer;">@lyh12345</span> 其中group(int)其中int是reg第几个() public ArrayList&...
  • 1.能抓取HTML页面input标签和checkbox标签的值 2.能抓取checkbox标签选中的value和text值 源码下载 HTML页面样式为: HTML脚本为: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...
  • java过滤文本html标签获取文本

    千次阅读 2019-02-27 10:57:14
    package com.avic.common.utils; import java.util.regex.Pattern; public class HtmlUtil {  //从html中提取纯文本  public static String Html2Text(String inputString) {  String htmlStr = inputStri...
  • java正则表达式去掉html标签

    千次阅读 2017-08-26 16:35:41
    java获取到的值会参杂这html标签,这不是我们想要的,那么我们该如何简便的去掉其中的所有html标签呢? html标签大都环绕着来去掉字符串所有的html标签: String.replaceAll("]*>",""); String.replaceAll...
  • JAVA解析html标签

    千次阅读 2015-12-31 15:46:40
    最近同事碰到一个问题,要取出数据库中静态页面标签中内容,问我应该怎么做,我随口答道,用正则表达式呗,很好正则表达式,其实我也不会用。很久以前我就碰到过类似的问题,当时是我同学问我的,让我思考一下如何...
  • java 处理html代码 <p> 标签 保证闭合
  • Java如何获取项目Html文件内容

    万次阅读 2019-05-06 23:35:10
    前言 在单页面应用(SPA,Single Page Application)开发,...所以,Java如何获取Html代码呢? 开发环境 如在Eclipse开发一个基于SpringBoot的SPA,每次右键-Run As/Debug As主类来运行项目,那如何找到...
  • 使用正则表达式,怎么匹配特定html标签内的内容。 比如,对于如下文本串: ... ignored content prefix content <html>inner content</html> postfix content ... ignored content 我们要提取出<...
  • java去除字符串html标签的方法

    万次阅读 2016-11-29 14:18:10
    java去除字符串html标签的方法java代码: String htmlStr="念安 你好你是 加卡是大姐</p>"; String str = htmlStr.replaceAll("[^>]+>", ""); //剔出<html>的标签 System.out.println(str); 输出的结果是: 念安...
  • Java去掉html标签的各种姿势

    千次阅读 2019-06-12 22:43:10
    业务开发可能需要将html标签全部去掉,本文将多种方法综合在这里,供大家参考。 二、方法 2.1 纯正则方法 import java.util.regex.Matcher; import java.util.regex.Pattern; public class HTMLSpirit{...
  • 工具类记录于此,以供参考。 package ... import org.apache.commons.lang3.StringUtils; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @author hilbert.xu * @date...
  • Java读取html中所有img标签的src值

    千次阅读 2018-08-30 12:32:47
    原文地址:https://blog.csdn.net/zgs_shmily/article/details/49799997 原理:利用正则匹配进行查找 直接上代码 public List&lt;String&gt; getImgSrc(String htmlStr) { ...List...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 202,960
精华内容 81,184
关键字:

java获取html标签中的内容

java 订阅