Jsoup类
一、简介
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类的更多相关文章
- jsoup
jsoup 相关知识链接:http://blog.csdn.net/column/details/jsoup.htm http://www.jb51.net/article/43485.htm htt ...
- Jsoup代码解读之一-概述
Jsoup代码解读之一-概述 今天看到一个用python写的抽取正文的东东,美滋滋的用Java实现了一番,放到了webmagic里,然后发现Jsoup里已经有了…觉得自己各种不靠谱啊!算了,静下心来学 ...
- Java上的jQuery?解析HTML利器—Jsoup
也许大家有过在java运行平台上解析html的经历,通常的方式是将HTML以XML的形式进行结点解析,调用java本身的xml解析类库.这样的方式很容易理解并且很方便,但习惯用jQuery的各位是否在 ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- Android_HTML解析器_jsoup
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据. Jsou ...
- jsoup的elements类
jsoup的Elements类 一.简介 该类是位于select包下,直接继承自Object,所有实现的接口有Cloneable, Iterable<Element>, Collectio ...
- Jsoup解析网页源码时常用的Element(s)类
Jsoup解析网页源码时常用的Element(s)类 一.简介 该类是Node的直接子类,同样实现了可克隆接口.类声明:public class Element extends Node 它表示由一个 ...
- Jsoup请求http或https返回json字符串工具类
Jsoup请求http或https返回json字符串工具类 所需要的jar包如下: jsoup-1.8.1.jar 依赖jar包如下: httpclient-4.5.4.jar; httpclient ...
- jsoup的Document类
一.简介 Document是一个装载html的文档类,它是jsoup一个非常重要的类.类声明:public class Document extends Element .Document是Node间 ...
随机推荐
- Python图表库Matplotlib 组成部分介绍
图表有很多个组成部分,例如标题.x/y轴名称.大刻度小刻度.线条.数据点.注释说明等等. 我们来看官方给的图,图中标出了各个部分的英文名称 Matplotlib提供了很多api,开发者可根据需求定制图 ...
- fork、父进程和子进程
进程 什么是进程?进程是一个运行中的程序实体,拥有独立的堆栈.内存空间和逻辑控制流. 这是标准的进程概念.让我们通过操作系统的fork函数看看这个抽象的概念是怎么在进程的实现中体现出来的. 构成要素 ...
- java 利用Calendar进行日期更改
//建立1个日期实例 Date tomorrow= new Date(); //获取今天日期 Date nowDate = Calendar.getInstance().getTime(); // 构 ...
- 第二十七篇 -- QTreeWidget总结
前言 之前写过几篇关于TreeWidget的文章,不过不方便查阅,特此重新整合作为总结.不过关于QtDesigner画图,还是不重新写了,看 第一篇 就OK. 准备工作 1. 用QtDesigner画 ...
- Pb代理工具之mitmproxy
mitmproxy 一 . mitmproxy介绍 mitmproxy 就是用于 MITM 的 proxy,MITM 即中间人攻击(Man-in-the-middle attack). 不同于 fid ...
- Error: Could not find or load main class ***
jni 本地方法的总结 1,第一步,javah D:\wksp_study\designbook\target\classes> //clas文件所在目录执行 javah -cp D:\wksp ...
- C#曲线分析平台的制作(三,三层构架+echarts显示)
本文依据CSDN另一位网友关于三层构架的简单搭建,基于他的源码进行修改.实现了三层构架合理结构,以及从数据库中传递数值在echarts显示的实验目的. 废话不多说,show me codes: 具体构 ...
- 【GCC编译器】Swing Modulo Scheduling
1. SMS 在 GCC 中的实现 1.1. 一些基本概念 (1)软流水(Software pipelining )是一种通过重叠不同迭代的指令,使其并行执行,从而改进循环中指令调度的技术.关键思想是 ...
- 开机时自动启动的AutoHotkey脚本 2019年07月08日19时06分
;;; 开机时自动启动的AutoHotkey脚本;; 此脚本修改时间 2019年06月18日20时48分;; 计时器创建代码段 ------------------------------------ ...
- noip模拟22[d·e·f]
noip模拟22 solutions 哈哈哈,这次暴力打满直接190,其实不到哈哈哈,187.. 这次的题暴力极其好打,但是正解确实不简单... 打了好久才改完这个题,改完的时候爽暴了 这些一个字母的 ...