记录一下解析URL地址获取HTML页面中想要的元素

1.项目中需要调用第三方的cms系统,获取发布的内容,但是数据库中存的是发布好的内容链接。手机端要显示相应的内容,该如何操作呢?

使用第三方插件Jsoup。

jar包或者maven依赖,参见官网

https://jsoup.org/download

Document doc1= Jsoup.parse(new URL(new_url), 10000);
//获取新闻内容(获取指定id的内容,过滤掉js、css和其他不相关元素。)
Element content = doc1.getElementById("content-show");
//获取新闻中video内容
// Elements video_link= content.getElementsByTag("video");
//清除新闻内容不需要的广告(此处清除id为div下样式为a-box的元素)
content.select("div.a-box").remove();
String con = content.toString();

更多详情操作见官方文档,或者推荐博客

https://www.cnblogs.com/zhangyinhua/p/8037599.html

2.获取想要内容并替换

记录一下解析URL地址获取HTML页面中想要的元素_第1张图片

如上图,想要获取a标签的href

方法一:String aLink = content.select("a").first().attr("href");

方法二: Elements pngs = content.select("a[href]");

         替换      pngs.attr("href",“www.baidu.com”);

记录一下解析URL地址获取HTML页面中想要的元素_第2张图片


3.另外 附上js中对富文本存储的内容字段中html代码删除,便于自己定义样式

        var final_content = result.replyConent;
                final_content = final_content.replace(/</g,'<');//将所有的<替换为<
                final_content = final_content.replace(/>/g,'>');//将所有的>替换为>
                final_content = final_content.replace(/<\/?[^>]*>/g,''); //去除HTML tag
                final_content = final_content.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
                final_content=final_content.replace(/ /ig,'');//去掉 

                final_content=final_content.replace(/\s/g,''); //将空格去掉

得到文本内容

你可能感兴趣的:(记录一下解析URL地址获取HTML页面中想要的元素)