中文API网站(下载地址): http://www.open-open.com/jsoup/ 

  有时候编辑器传到后台的内容是带Html标签的,或者有时候需要形成一个完整的Html文档,也或者需要解析其中的文字(text()),Java后台处理用Jsoup非常方便,也可以用选择器快速获取元素,类似于jQuery。获取到文档对此之后对其处理与JS处理DOM一样方便,选取元素也类似于JS,也有类似于jQuery的语法,官方的解释

aaarticlea/png;base64,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" alt="" />

1.最基本的解析Html字符串

    @Test
public void testHtmlToString2() {
String html = "<p>这是一个段落<img src=\"test.img\"/>内容;</p>";
Document doc = Jsoup.parse(html);
System.out.println(doc); // 输出带标签的html文档
System.out.println("---------------------\n"+doc.text()); // 输出内容
Elements element = doc.getElementsByTag("p");
System.out.println("---------------------\n"+element.get(0).html());
}

结果:

<html>
<head></head>
<body>
<p>这是一个段落<img src="test.img">内容;</p>
</body>
</html>
---------------------
这是一个段落内容;
---------------------
这是一个段落<img src="test.img">内容;

2.解析字符串

    // 解析html字符串
@Test
public void testHtmlToString() {
String html = "<html><head><title>First parse</title></head>"
+ "<body><p style='center'>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
System.out.println(doc); // 输出带标签的html文档
System.out.println("---------------------\n"+doc.text()); // 输出内容
}

结果:

<html>
 <head>
  <title>First parse</title>
 </head>
 <body>
  <p style="center">Parsed HTML into a doc.</p>
 </body>
</html>
---------------------
First parse Parsed HTML into a doc.

3.// 解析body片段

    @Test
public void test2() {
String html = "<div><p>Lorem ipsum.</p>";
Document doc = Jsoup.parseBodyFragment(html);
System.out.println(doc);
System.out.println(doc.text());
}

结果:

<html>
 <head></head>
 <body>
  <div>
   <p>Lorem ipsum.</p>
  </div>
 </body>
</html>
Lorem ipsum.

4.// 解析一个url与用选择器选择元素(相当于查看源码)

    @Test
public void test4() throws IOException {
Document doc = Jsoup.connect("http://qiaoliqiang.cn:8080/").get();
String title = doc.title();// 获取title
System.out.println(title);
System.out.println("---------------------\n"+doc.toString()+"---------------------\n");// 输出文档全部
Elements links = doc.getElementsByTag("a");
for (Element ele : links) {
System.out.println(ele.toString());
}
}

Apache Tomcat/7.0.72
---------------------
<!doctype html>
<html lang="en">
 <head>
  <title>Apache Tomcat/7.0.72</title>
  <link href="favicon.ico" rel="icon" type="image/x-icon">
  <link href="favicon.ico" rel="shortcut icon" type="image/x-icon">
..........

5.选择器解析HTML并且提取input的value值:(获取元素的属性)

    /**
* <span class="bigNum">二</span>、
* <span><input class="el_modifiedTitle" value="多选题" type="text"> </span>
* <span>(每到题 <input class="el_modifiedGrade" value="2" type="text"> </span>
* <span> 分;共</span><span class="numTotal">4分/</span>
* <span class="numQues">2题)</span>
*
* @param html
* @return
*/
// 去掉大题的标签
public static String removeBigQues(String html) {
StringBuffer sb = new StringBuffer();
Document doc = Jsoup.parse(html);
System.out.println(doc);
System.out.println(doc.text());
sb.append(doc.select(".bigNum").get(0).text() + ". ");
sb.append(doc.select(".el_modifiedTitle").get(0).attr("value"));
sb.append(doc.select("span").get(2).text() + doc.select(".el_modifiedGrade").get(0).attr("value"));
sb.append(doc.select("span").get(3).text());
sb.append(doc.select("span").get(4).text());
sb.append(doc.select("span").get(5).text());
System.out.println(sb.toString());
return sb.toString();
}

补充:今天发现Jsoup竟然没有解析元素style的方法,所以只能自己手写

  先获取到style属性,再对style属性进行处理,例如:

        String style = "position: absolute; width: 500px; height: 552px;";
String extract = "width";
if (style.contains(extract)) {
style = style.substring(style.indexOf(extract));
System.out.println(style);
style = style.substring(0, style.indexOf(";"));
System.out.println(style);
String attr = style.substring(style.indexOf(":") + 2);
System.out.println(attr.substring(0, attr.indexOf("px")));
}

补充:元素的html()与outerHtml()的区别

  html()会返回包括子元素的内容以及标签,不包括自己

  outerHtml()会返回包括自己在内的元素。

在jQuery中如果返回子元素的内容也是html(),如果返回包括自己的内容需要用$("#chartdiv").prop("outerHTML");//会返回包括自己在内的内容

【Jsoup】Jsoup解析Html标签(Java后台解析)的更多相关文章

  1. 【死磕 Spring】----- IOC 之解析 bean 标签:开启解析进程

    原文出自:http://cmsblogs.com import 标签解析完毕了,再看 Spring 中最复杂也是最重要的标签 bean 标签的解析过程. 在方法 parseDefaultElement ...

  2. Java后台 解析JSON的几个方法

    1.对象转JSON对象. public static void main(String[] args) { Domain demo = new Domain( "在线JSON校验格式化工具 ...

  3. java后台解析前端传来的json

    @RequestMapping(value = {"save"}) @ResponseBody public Result save(TBaseInterventionPlan m ...

  4. mybatis源码配置文件解析之一:解析properties标签

    mybatis作为日常开发的常用ORM框架,在开发中起着很重要的作用,了解其源码对日常的开发有很大的帮助.源码版本为:3-3.4.x,可执行到github进行下载. 从这篇文章开始逐一分析mybati ...

  5. mybatis源码配置文件解析之五:解析mappers标签

    在上篇博客中分析了plugins标签,<mybatis源码配置文件解析之四:解析plugins标签>,了解了其使用方式及背后的原理.现在来分析<mappers>标签. 一.概述 ...

  6. jsoup Java HTML解析器:使用选择器语法来查找元素

    jsoup Java HTML解析器:使用选择器语法来查找元素 使用选择器语法来查找元素 问题 你想使用类似于CSS或jQuery的语法来查找和操作元素. 方法 可以使用Element.select( ...

  7. Atitit.html解析器的选型&#160;jsoup&#160;nsoup&#160;,java&#160;c#&#160;.net&#160;版本号

    Atitit.html解析器的选型 jsoup nsoup ,java c# .net 版本号 1. 框架选型的要求 1 1.1. 文档多 1 1.2. 跨平台 1 2. html解析器特性: 1 2 ...

  8. jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址

    jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据.

  9. 你不可错过的二维码生成与解析-java后台与前端js都有

    1.二维码分类   二维条码也有许多不同的码制,就码制的编码原理而言,通常分为三种类型. 线性堆叠式二维码 编码原理: 建立在一维条码基础之上,按需要堆积成两行或多行. 图示: 矩阵式二维码 最常用编 ...

随机推荐

  1. maven的小知识

    一.下载及安装 1.1 下载maven 3.1.1 先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.1.1 ),下载完成后,解压到某个目录(本 ...

  2. hibernate 三种状态

    JPA是Java Persistence API的简称,中文名Java持久层API. 因JPA是由Hibernate的创建者编写,因此和Hibernate基本相似一致.JPA由不同的服务解析,因此在w ...

  3. LInux下LD_LIBRARY_PATH的作用与设置

    LD_LIBRARY_PATH环境变量主要是用于指定动态链接器(Id)超早elf可执行文件运行时所依赖的动态库(so)的路径,其内容是以冒号分隔的路径列表. Id链接器优先在该变量设置的路径中查找,若 ...

  4. Flume环境搭建_五种案例(转)

    Flume环境搭建_五种案例 http://flume.apache.org/FlumeUserGuide.html A simple example Here, we give an example ...

  5. 【转】 关于寄存器ESP和EBP的一些理解

    原文: http://blog.csdn.net/zsJum/article/details/6117043 一直对寄存器ESP和EBP的概念总是有些混淆,查看定义ESP是栈顶指针,EBP是存取堆栈指 ...

  6. iperf点对点网络性能测试工具

    什么是Iperf?Iperf 是一个网络性能测试工具.Iperf可以测试TCP和UDP带宽质量.Iperf可以测量最大TCP带宽,具有多种参数和UDP特性.Iperf可以报告带宽,延迟抖动和数据包丢失 ...

  7. protocol_link

    蔡燧林:1992—2000年教育部考试中心研究生数学命题组组长现在退休养老.要想办法弄到他编的书(ps:别问怎么弄到,我和我同学都能弄到,你怎么会不能弄到呢)李林:目前在导航独家授课,他能屡屡命中考研 ...

  8. Haskell语言学习笔记(55)Data.Vector

    Data.Vector Construction Prelude V> import Data.Vector as V Prelude V> V.empty [] Prelude V> ...

  9. Excel 2003-单元格输入中带记忆功能

    最近有个同事问我,如何在Excel单元格输入中带记忆功能?其实很简单: 工具ó选项ó编辑ó将“记忆式键入”项选中ó确定: //附图[效果图]:

  10. HSTS详解

    1. 缘起:启用HTTPS也不够安全 有不少网站只通过HTTPS对外提供服务,但用户在访问某个网站的时候,在浏览器里却往往直接输入网站域名(例如www.example.com),而不是输入完整的URL ...