首页 技术 正文
技术 2022年11月14日
0 收藏 874 点赞 2,223 浏览 1711 个字

背景:公司项目要对接第三方商城的商品到自己的商城来卖,商品详情给了个链接url,因为对方的商品详情有他们的物流说明,售后信息,所以要求去掉这部分的代码

java解析HTML之神器——Jsoup

java解析HTML之神器——Jsoup

java解析HTML之神器——Jsoup

@Test
public void getItemDetail() throws IOException { String url="https://www.xxx.com";//此处url作了处理,不能提供真实url,防止泄密,侵权,大家可以自己找一个url来完
String itemDetail = getItemDetail(url);
System.out.println(itemDetail);
} private String getItemDetail(String url){
//思路:通过请求获取html文本,通过选择器找到对应的标签,然后找到该标签的父标签,最后将父标签移除
String itemDetailHtml = NetUtil.httpGet(url, Maps.newHashMap());//获取商品详情
if(StringUtils.isBlank(itemDetailHtml)){ return null;
}
Document parse = Jsoup.parse(itemDetailHtml);
//也可以直接使用url来解析,下面注释所示
//URL linkUrl = new URL(url);
// Document parse=Jsoup.parse(linkUrl,5000);
if(parse==null){ return null;
}
//干掉头部图片
//Jsoup强大之处在于可以使用css选择器,但要注意img[src='http://www.konvy.com/static/team/Banner/3.jpg'],属性值这里加了引号,这样会取不到值,下面才是正确的
Elements topImgEls = parse.select("img[src=http://www.konvy.com/static/team/Banner/3.jpg]"); //头部url
if(null!=topImgEls && topImgEls.size()>=1){
Element topImgEl = topImgEls.get(0);//获取第一个元素
Element topPEL = topImgEl.parent();//获取该img标签的父标签P标签
topPEL.remove();//整个p标签移除,元素可以将自己从整个document中移除
}
//干掉底部图片
Elements aEls= parse.select("a[href=http://www.konvy.com/account/signup.php]");//底部第一张图片
if(null!=aEls && aEls.size()>=1){
Element aEL = aEls.get(0);//获取底部a标签
Element pBottom1 = aEL.parent();//获取底部a标签的父标签P
pBottom1.remove();//底部标签自己移除自己
} Elements imgElsBottom = parse.select("img[src=http://www.konvy.com/static/team/Banner/shipping%2024h.jpg]");//底部第二张图片
if(null!=imgElsBottom && imgElsBottom.size()>0){
Element imgBttom = imgElsBottom .get(0); //底部第二张图片
Element pBottom2 = imgBttom.parent();//底部第二张图片的父标签
pBottom2.remove();//底部第二张图片的父标签进行移除
} return parse.toString();
}

java解析HTML之神器——Jsoup

依赖:<dependency>
    <groupId>org.jsoup</groupId>
   <artifactId>com.springsource.org.jsoup</artifactId>
   <version>1.5.2</version>
  </dependency>

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,104
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,581
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,428
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,200
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,835
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,918