一、简介

Jsoup是一款HTML解析器,可以直接解析url地址,也可以解析html文本内容。也可通过DOM、CSS以及类似于jQuery的操作方法来取出和操作数据。其主要功能:

1、从url、字符串或者文本中解析出html

2、查找、取出数据

3、操作html元素、属性、文本。

Jsoup直接继承Object类,声明为:public class Jsoup extends Object

这是使用Jsoup库的核心的公共的入口。

二、方法详细

1、public static Document parse(String html, String baseUri)  将html解析到Document中,这里能为任何html创建一个document文档树。

其中的baseUri,html中url经常表示成相对路劲形式,baseUri就是用来指定其根路劲,在解析html中url从相对路劲中转换为绝对路劲时非常重要。

2、public static Document parse(String html, String baseUri, Parser parser) 使用指定的解析器对html字符串进行解析。

3、public static Document parse(String html) 将html字符串解析到Document中,这里没有指定baseUri,其依赖于html中<base href>标签。

4、public static Connection connect(String url)   创建一个指定url的链接(Connection)对象,常用来获取或解析html页面。

如:Document doc = Jsoup.connect("http://example.com").userAgent("Mozilla").data("name", "jsoup").get();

   Document doc = Jsoup.connect("http://example.com").cookie("auth", "token").post();

5、public static Document parse(File in, String charsetName, String baseUri) throws IOException  解析html文件

charsetName指编码,通常设置为UTF-8比较安全。当文件找不到或者不可读或者编码无效时将会跑IO异常。

6、public static Document parse(File in, String charsetName) throws IOException  解析html文件 文件位置常用来作为baseUri。 其他跟上面第5点一样。

7、public static Document parse(InputStream in, String charsetName, String baseUri) throws IOException  读取输入流,然后将其解析为Document对象。

8、public static Document parse(InputStream in, String charsetName, String baseUri, Parser parser) throws IOException  读取输入流,使用指定解析器对其进行解析。

9、public static Document parseBodyFragment(String bodyHtml, String baseUri)  解析只含body部分的html片段。 指定了baseUri

10、public static Document parseBodyFragment(String bodyHtml) 解析只含body部分的html片段。 未指定baseUri

11、public static Document parse(URL url, int timeoutMillis) throws IOException 将url指定的html解析为document。考虑兼容性常用connect(String url)代替。

如果响应返回码不是200或者读取响应流出错将抛出IO异常。

12、public static String clean(String bodyHtml, String baseUri, Whitelist whitelist)  使用白名单标签和属性对输入的不信任的html进行过滤来得到安全的html。指定了baseUri

13、public static String clean(String bodyHtml, Whitelist whitelist)   使用白名单标签和属性对输入的不信任的html进行过滤来得到安全的html。未指定baseUri

14、public static boolean isValid(String bodyHtml, Whitelist whitelist)   测试输入的html是否只包含白名单允许的标签和属性。

Jsoup类的更多相关文章

  1. jsoup

    jsoup 相关知识链接:http://blog.csdn.net/column/details/jsoup.htm http://www.jb51.net/article/43485.htm htt ...

  2. Jsoup代码解读之一-概述

    Jsoup代码解读之一-概述 今天看到一个用python写的抽取正文的东东,美滋滋的用Java实现了一番,放到了webmagic里,然后发现Jsoup里已经有了…觉得自己各种不靠谱啊!算了,静下心来学 ...

  3. Java上的jQuery?解析HTML利器—Jsoup

    也许大家有过在java运行平台上解析html的经历,通常的方式是将HTML以XML的形式进行结点解析,调用java本身的xml解析类库.这样的方式很容易理解并且很方便,但习惯用jQuery的各位是否在 ...

  4. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  5. Android_HTML解析器_jsoup

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

  6. jsoup的elements类

    jsoup的Elements类 一.简介 该类是位于select包下,直接继承自Object,所有实现的接口有Cloneable, Iterable<Element>, Collectio ...

  7. Jsoup解析网页源码时常用的Element(s)类

    Jsoup解析网页源码时常用的Element(s)类 一.简介 该类是Node的直接子类,同样实现了可克隆接口.类声明:public class Element extends Node 它表示由一个 ...

  8. Jsoup请求http或https返回json字符串工具类

    Jsoup请求http或https返回json字符串工具类 所需要的jar包如下: jsoup-1.8.1.jar 依赖jar包如下: httpclient-4.5.4.jar; httpclient ...

  9. jsoup的Document类

    一.简介 Document是一个装载html的文档类,它是jsoup一个非常重要的类.类声明:public class Document extends Element .Document是Node间 ...

随机推荐

  1. 公钥-私钥 白名单-黑名单 Linux 远程访问及控制(SSH)

    远程访问及控制一.SSH远程管理二.OpenSSH服务器① SSH (Secure Shell)协议② OpenSSH三.配置OpenSSH服务器举例四.sshd 服务支持两种验证方式五.使用SSH客 ...

  2. C编译器

    GCC:GNU Compiler Collection,即 GNU 编译器套件.TDM-GCC 4.8.1 32-BIT Release: 查看GCC的版本:C:\Program Files\Dev- ...

  3. Java基础00-运算符4

    1. 算术运算符 1.1 运算符和表达式 1.2 算数运算符 余数的计算取余数是指整数除法中被除数未被除尽部分,且余数的取值范围为0到除数之间(不包括除数)的整数 ,例如27除以6,商数为4,余数为3 ...

  4. 详解API Gateway流控实现,揭开ROMA平台高性能秒级流控的技术细节

    摘要:ROMA平台的核心系统ROMA Connect源自华为流程IT的集成平台,在华为内部有超过15年的企业业务集成经验. 本文分享自华为云社区<ROMA集成关键技术(1)-API流控技术详解& ...

  5. 搭建kerberos和NTP服务器以及安全的NFS服务

    说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建Kerberos和NTP时钟服务的参考. 注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的. 如果需 ...

  6. [考试总结]noip模拟17

    爆零了! 菜爆了 弱展了 垃爆了 没有什么可以掩饰你的菜了 这次考试为我带来了第一个 \(\color{red}{ \huge{0}}\) 分,十分欣慰.... 最近的暴力都打不对,你还想什么正解?? ...

  7. linux下快速安装pyenv管理多版本python

    起因 一直服务器python项目都是放docker跑,这次为了测试,不得不在宿主机跑,就必须安装python3.7,但是ubuntu16.04下有点麻烦 尝试 源码安装,懒,算了,也不想污染服务器环境 ...

  8. vue-- 利用过滤-实现搜索框的姓名的搜索

    <div class="fl w-200 m-l-30"> <el-input placeholder="输入用户名" v-model=&qu ...

  9. JS 之循环 应用案例1

    应用场景:将el-select下拉框的lab值,显示在下面的详情text框,见下图 用到了 el-select 传值,js循环判断options.code是否等于传进来的值,等于就break; tex ...

  10. AcWing 第11场周赛题解

    计算abc 首先 \(0<=a<=b<=c\) 会随机给出 \(a+b,a+c,b+c,a+b+c\)的值 因为\(a,b,c\)都为正整数,所以\(a+b+c\)一定为最大值 然后 ...