jsoup 的基本使用以及API内容

时间:2025-02-16 07:37:27

Jsoup 获取 Document 的三种方法:

1. 读取取字符串的方式获取 Document,代码如下所示:

@Test
//获取完整的字符串内容
public void test01() {
    String html = "<html> <div> <h1>h1标签</h1> <span>span标签</span> </div> </html>";
    Document document = Jsoup.parse(html);
    System.out.println(document);
}

@Test
//获取部分的字符串内容
public void test02() {
    String html = "<html> <div> <h1>h1标签</h1> <span>span标签</span> </div> </html>";
    Document document = Jsoup.parse(html);
    //此处就像 JavaScript 的选择器
    Elements div = document.getElementsByTag("div");
    System.out.println(div);
}

test01 输出结果如下:

<html> 
 <head></head>
 <body>
  <div> 
   <h1>h1标签</h1> <span>span标签</span> 
  </div> 
 </body>
</html>

test02 输出结果如下:

<div> 
 <h1>h1标签</h1> <span>span标签</span> 
</div>

2. 使用 GET 或则 POST 方式获取 Document,代码如下所示:

@Test
//通过 GET 方式获取
public void test03() {
    Document document;
    try {
        //get 请求
        System.out.println("GET 请求方式获取数据");
        document = Jsoup.connect("").get();
        System.out.println(document);
        System.out.println();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

@Test
//通过 POST 方式获取
public void test04() {
    Document document;
    try {
        //POST请求
        System.out.println("POST 请求方式获取数据");
        document = Jsoup.connect("")
                .data("username", "jiale")  //添加请求数据参数。
                .userAgent("Mozilla AppleWebKit Chrome Safari Edg")  //设置请求用户代理头。
                .cookie("auth", "token")  //设置请求中要发送的 cookie。
                .timeout(2000)  //设置超时时间
                .post();
        //更多的 API查看文章末尾 Connection 接口的方法
        System.out.println(document);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

test03 输出结果如下:

GET 请求方式获取数据
<!doctype html>
<html lang="ZH-cn"> 
 <head> 
  <meta charset="UTF-8"> 
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 
  //省略...

test04 输出结果如下:

POST 请求方式获取数据
<!doctype html>
<html lang="ZH-cn"> 
 <head> 
  <meta charset="UTF-8"> 
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 
  //省略...

3. 在文件中获取 Document,代码如下所示:
在同目录下创建

<html>
<head>
    <title>hello</title>
</head>
<body>
    键盘敲烂, 工资过万
</body>
</html>

编写 Java 类

@Test
//通过 File 方式获取
public void test05() {
    File file = new File("src/main/resources/");
    Document document = null;
    try {
        document = Jsoup.parse(file, "UTF-8");
        System.out.println(document);
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (document != null){
            document.clone();
        }
    }
}

test05 输出结果如下:

<html> 
 <head> 
  <title>hello</title> 
 </head> 
 <body>
   键盘敲烂, 工资过万  
 </body>
</html>

使用 Document 通过选择器获取 Elements

常用的方法:

  • select​(String cssQuery):查找与SelectorCSS查询匹配的元素,类似于 JQuery 的选择器。
  • getElementById​(String id):通过ID查找元素
  • getElementsByClass​(String className):通过class查找元素
  • getElementsByTag​(String tagName) 通过指定名称查找元素,并递归地查找这些元素。
  • getAllElements():在此元素下找到所有元素。
  • firstElementSibling():获取此元素的第一个元素同级
  • getElementsByAttributeStarting​(String keyPrefix):查找具有以提供的前缀开头的属性名称的元素
  • getElementsByAttributeValue​(String key, String value): 查找具有具有特定值的属性的元素
  • getElementsByAttributeValueContaining​(String key, String match):查找具有其值包含匹配字符串的属性的元素
  • getElementsByAttributeValueStarting​(String key, String valuePrefix):查找具有以值前缀开头的属性的元素
  • getElementsByAttributeValueEnding​(String key, String valueSuffix):查找具有以值后缀结尾的属性的元素
  • getElementsContainingText​(String searchText) :查找包含指定字符串的元素

创建一个 文件,内容如下:

<html>
<head>
    <title>hello页面</title>
</head>
<body>
    <div class="boxClass">class div 盒子</div>
    <div id="boxId">Id div 盒子</div>
    <div><span>div 下的 span 标签</span></div>
</body>
</html>

Java 代码示例:

@Test
//选择器
public void test06() {
    File file = new File("src/main/resources/");
    Document document = null;
    try {
        document = Jsoup.parse(file, "UTF-8");
        //select 类似于 JQuery 选择器
        Elements e1 = document.select("body>div>span"); //<span>div 下的 span 标签</span>
        System.out.println(e1);

        //getElementById id 选择器
        Element e2 = document.getElementById("boxId");
        System.out.println(e2);//<div > Id div 盒子 </div>

        //getElementsByClass class 选择器
        Elements e3 = document.getElementsByClass("boxClass");
        System.out.println(e3);//<div class="boxClass"> class div 盒子 </div>

        //getAllElements
        Elements e4 = document.getElementsByTag("span");
        System.out.println(e4);//<span>div 下的 span 标签</span>
		
		//...
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (document != null) {
            document.clone();
        }
    }
}

获取 Elements 的内容

常用的方法:

  • html():检索元素的内部HTML。
  • html​(String html):设置此元素的内部HTML。
  • text():获取此元素及其所有子元素的组合文本。
  • text​(String text):设置文档的文本。

Java 代码示例:

@Test
//获取 Elements 的内容
public void test07() {
    File file = new File("src/main/resources/");
    Document document = null;
    try {
        document = Jsoup.parse(file, "UTF-8");
        //html:不带参数是获取 html,带参数是设置 html
        String html = document.select("body").html();
        System.out.println(html);

        //text:不带参数是获取 text,带参数是设置 text
        String text = document.select("body").text();
        System.out.println(text);//class div 盒子 Id div 盒子 div 下的 span 标签
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (document != null) {
            document.clone();
        }
    }
}

API

下面是 Jsoup 的 API,参考自:jsoup官方文档(Jsoup、Document、Element 、Node、Elements、Connection 接口)

public class
extends Object

所有方法

修饰符和类型 方法名称 描述
static String clean​(String bodyHtml, String baseUri, Whitelist whitelist) 通过解析输入HTML并通过允许的标签和属性的白名单对其进行过滤,从不受信任的输入HTML中获得安全的HTML。
static String clean​(String bodyHtml, String baseUri, Whitelist whitelist, outputSettings) 通过解析输入HTML并通过允许的标签和属性的白名单对其进行过滤,从不受信任的输入HTML中获得安全的HTML。
static String clean​(String bodyHtml, Whitelist whitelist) 通过解析输入HTML并通过允许的标签和属性的白名单对其进行过滤,从不受信任的输入HTML中获得安全的HTML。
static Connection connect​(String url) 创建一个新Connection的URL。
static boolean isValid​(String bodyHtml, Whitelist whitelist) 测试输入正文HTML是否仅具有白名单允许的标签和属性。
static Document parse​(File in, String charsetName) 将文件内容解析为HTML。
static Document parse​(File in, String charsetName, String baseUri) 将文件内容解析为HTML。
static Document parse​(InputStream in, String charsetName, String baseUri) 读取输入流,并将其解析为Document。
static Document parse​(InputStream in, String charsetName, String baseUri, Parser parser) 读取输入流,并将其解析为Document。
static Document parse​(String html) 将HTML解析为文档。
static Document parse​(String html, String baseUri) 将HTML解析为文档。
static Document parse​(String html, String baseUri, Parser parser) 使用提供的解析器将HTML解析为文档。
static Document parse​(URL url, int timeoutMillis) 提取一个URL,并将其解析为HTML。
static Document parseBodyFragment​(String bodyHtml) 假设HTML构成HTML的片段,则解析HTML的片段body。
static Document parseBodyFragment​(String bodyHtml, String baseUri) 假设HTML构成HTML的片段,则解析HTML的片段body。

public class
extends Element

构造方法

构造方法 描述
Document​(String baseUri) 创建一个新的空文档。

所有方法

修饰符和类型 方法名称 描述
Element body() 文档body元素的访问者。
Charset charset() 返回此文档中使用的字符集。
void charset​(Charset charset) 设置本文档中使用的字符集。
Document clone() 创建该节点及其所有子节点的独立的深层副本。
Element createElement​(String tagName) 使用此文档的基本uri创建一个新的Element。
static Document createShell​(String baseUri) 创建一个有效的文档空外壳,适用于向其中添加更多元素。
DocumentType documentType() 返回此文档的文档类型。
Element head() 文档head元素的访问者。
String location() 获取解析此文档的URL。
String nodeName() 获取此节点的节点名称。
Document normalise() 规范化文档。
String outerHtml() 获取此节点的外部HTML。
outputSettings() 获取文档的当前输出设置。
Document outputSettings​( outputSettings) 设置文档的输出设置。
Parser parser() 获取用于解析此文档的解析器。
Document parser​(Parser parser) 设置用于创建此文档的解析器。
quirksMode()
Document quirksMode​( quirksMode)
Element text​(String text) 设置body本文档的文本。
String title() 获取文档title元素的字符串内容。
void title​(String title) 设置文档的title元素。
boolean updateMetaCharsetElement() 返回文档中具有字符集信息的元素是否在通过document .charset(charset)进行更改时被更新。
void updateMetaCharsetElement​(boolean update) 设置当通过document .charset(charset)进行更改时,此文档中具有字符集信息的元素是否被更新。
Document 继承了 Element,包含了所有的 Element 的方法!

public class
extends Node

构造方法

构造方法 描述
Element (String tag) 创建一个新的独立元素。
Element (Tag tag, String baseUri) 从标签和基本URI创建一个新元素。
Element​ (Tag tag, String baseUri, Attributes attributes) 创建一个新的独立元素。

所有方法

修饰符和类型 方法名称 描述
Element addClass​(String className) 在该元素的class属性中添加一个类名。
Element after​(String html) 将指定的HTML插入到此元素之后的DOM中(如下所示)。
Element after​(Node node) 将指定的节点插入到该节点之后的DOM中(如下所示)。
Element append​(String html) 向此元素添加内部HTML。
Element appendChild​(Node child) 将节点子节点添加到此元素。
Element appendElement​(String tagName) 通过标签名称创建一个新元素,并将其添加为最后一个子元素。
Element appendText​(String text) 创建一个新的TextNode并将其附加到此元素。
Element appendTo​(Element parent) 将此元素添加到提供的父元素中,作为其下一个子元素。
Element attr​(String attributeKey, boolean attributeValue) 在此元素上设置布尔属性值。
Element attr​(String attributeKey, String attributeValue) 在此元素上设置属性值。
Attributes attributes() 获取元素的所有属性。
String baseUri() 获取适用于此节点的基本URI。
Element before​(String html) 将指定的HTML插入此元素之前的DOM中(作为前面的同级元素)。
Element before​(Node node) 将指定的节点插入到该节点之前的DOM中(作为先前的同级节点)。
Element child​(int index) 通过从0开始的索引号获取此元素的子元素。
int childNodeSize() 获取此节点拥有的子节点数。
Elements children() 获取此元素的子元素。
int childrenSize() 获取作为元素的该元素的子节点数。
String className() 获取此元素的“class”属性的文字值,其中可能包含多个类名,以空格分隔。
Set<String> classNames() 获取所有元素的类名。
Element classNames​(Set<String> classNames) 将元素的class属性设置为提供的类名称。
Element clearAttributes() 清除(删除)此节点中的所有属性。
Element clone() 创建该节点及其所有子节点的独立的深层副本。
Element closest​(String cssQuery) 在与指定的CSS查询匹配的父级树中找到最接近的元素。
Element closest​(Evaluator evaluator) 在与指定评估者匹配的父级树中找到最接近的元素。
String cssSelector() 获取将唯一选择此元素的CSS选择器。
String data() 获取此元素的组合数据。
List<DataNode> dataNodes() 获取此元素的子数据节点。
Map<String,​String> dataset() 获取此元素的HTML5自定义数据属性。
protected Element doClone​(Node parent)
protected void doSetBaseUri​(String baseUri) 如果此节点跟踪基本URI,则仅为此节点(而不是其后代)设置baseUri。
int elementSiblingIndex() 获取此元素在其同级元素列表中的列表索引。
Element empty() 删除元素的所有子节点。
protected List<Node> ensureChildNodes()
Element filter​(NodeFilter nodeFilter) 通过该节点及其后代执行深度优先过滤。
Element firstElementSibling() 获取此元素的第一个元素同级。
Elements getAllElements() 在此元素下找到所有元素(包括自我和孩子的孩子)。
Element getElementById​(String id) 通过ID查找元素,包括该元素或在该元素下。
Elements getElementsByAttribute​(String key) 查找具有命名属性集的元素。
Elements getElementsByAttributeStarting​(String keyPrefix) 查找具有以提供的前缀开头的属性名称的元素。
Elements getElementsByAttributeValue​(String key, String value) 查找具有具有特定值的属性的元素。
Elements getElementsByAttributeValueContaining​(String key, String match) 查找具有其值包含匹配字符串的属性的元素。
Elements getElementsByAttributeValueEnding​(String key, String valueSuffix) 查找具有以值后缀结尾的属性的元素。
Elements getElementsByAttributeValueMatching​(String key, String regex) 查找具有其值与提供的正则表达式匹配的属性的元素。
Elements getElementsByAttributeValueMatching​(String key, Pattern pattern) 查找具有其值与提供的正则表达式匹配的属性的元素。
Elements getElementsByAttributeValueNot​(String key, String value) 查找不具有此属性或具有不同值的元素。
Elements getElementsByAttributeValueStarting​(String key, String valuePrefix) 查找具有以值前缀开头的属性的元素。
Elements getElementsByClass​(String className) 查找具有此类的元素,包括该元素或在此元素下。
Elements getElementsByIndexEquals​(int index) 查找其兄弟索引等于提供的索引的元素。
Elements getElementsByIndexGreaterThan​(int index) 查找兄弟索引大于提供的索引的元素。
Elements getElementsByIndexLessThan​(int index) 查找兄弟索引小于提供的索引的元素。
Elements getElementsByTag​(String tagName) 查找具有指定标签名称的元素(包括在该元素下并在此元素下递归)。
Elements getElementsContainingOwnText​(String searchText) 查找直接包含指定字符串的元素。
Elements getElementsContainingText​(String searchText) 查找包含指定字符串的元素。
Elements getElementsMatchingOwnText​(String regex) 查找其文本与提供的正则表达式匹配的元素。
Elements getElementsMatchingOwnText​(Pattern pattern) 查找其文本与提供的正则表达式匹配的元素。
Elements getElementsMatchingText​(String regex) 查找其文本与提供的正则表达式匹配的元素。
Elements getElementsMatchingText​(Pattern pattern) 查找其文本与提供的正则表达式匹配的元素。
protected boolean hasAttributes() 检查此Node是否具有实际的Attributes对象。
boolean hasClass​(String className) 测试此元素是否具有类。
boolean hasText() 测试此元素是否具有任何文本内容(不只是空格)。
String html() 检索元素的内部HTML。
Element html​(String html) 设置此元素的内部HTML。
<T extends Appendable> T html​(T appendable) 将此节点及其子节点写入给定的Appendable。
String id() 获取id此元素的属性。
Element insertChildren​(int index, Collection<? extends Node> children) 将给定的子节点插入到此元素的指定索引处。
Element insertChildren​(int index, Node… children) 将给定的子节点插入到此元素的指定索引处。
boolean is​(String cssQuery) 检查此元素是否与给定的SelectorCSS查询匹配。
boolean is​(Evaluator evaluator) 检查此元素是否与给定的评估者匹配。
boolean isBlock() 测试此元素是否为块级元素。
Element lastElementSibling() 获取此元素的最后一个元素同级
Element nextElementSibling() 获取此元素的下一个同级元素。
Elements nextElementSiblings() 获取此元素之后的每个同级元素。
String nodeName() 获取此节点的节点名称。
String normalName() 获取此元素标签的标准化名称。
String ownText() 仅获取此元素拥有的文本;无法获得所有子项的合并文本。
Element parent() 获取此节点的父节点。
Elements parents() 获取此元素的父项和祖先,直到文档根目录为止。
Element prepend​(String html) 将内部HTML添加到此元素中。
Element prependChild​(Node child) 在此元素的子元素的开头添加一个节点。
Element prependElement​(String tagName) 通过标签名称创建一个新元素,并将其添加为第一个子元素。
Element prependText​(String text) 创建一个新的TextNode并将其添加到此元素之前。
Element previousElementSibling() 获取此元素的上一个元素同级。
Elements previousElementSiblings() 获取此元素之前的每个元素同级。
Element removeAttr​(String attributeKey) 从此节点删除属性。
Element removeClass​(String className) 从该元素的class属性中删除类名称。
Element root() 获取此节点的根节点;就是它的最高祖先。
Elements select​(String cssQuery) 查找与SelectorCSS查询匹配的元素,并以该元素为起始上下文。
Elements select​(Evaluator evaluator) 查找与提供的评估程序匹配的元素。
Element selectFirst​(String cssQuery) 查找与SelectorCSS查询匹配的第一个元素,并以该元素为起始上下文。
Element selectFirst​(Evaluator evaluator) 查找与提供的Evaluator匹配的第一个元素,以该元素作为起始上下文,或者null如果没有匹配项。
Element shallowClone() 创建该节点的独立浅副本。
Elements siblingElements() 获取同级元素。
Tag tag() 获取此元素的标签。
String tagName() 获取此元素的标签名称。
Element tagName​(String tagName) 更改此元素的标签。
String text() 获取此元素及其所有子元素的组合文本。
Element text​(String text) 设置此元素的文本。
List<TextNode> textNodes() 获取此元素的子文本节点。
Element toggleClass​(String className) 在该元素的class属性上切换类名称:如果存在,将其删除;否则添加它。
Element traverse​(NodeVisitor nodeVisitor) 在该节点及其后代中进行深度优先遍历。
String val() 获取表单元素的值(输入,文本区域等)。
Element val​(String value) 设置表单元素的值(输入,文本区域等)。
String wholeText() 获取此元素的所有子元素的(未编码)文本,包括原始元素中存在的所有换行符和空格。
Element wrap​(String html) 将提供的HTML环绕此元素。
Element 继承 Node,包含了所有的 Node 的方法!

public abstract class
extends Object
implements Cloneable

所有方法

修饰符和类型 方法名称 描述
String absUrl​(String attributeKey) 从可能是相对的URL属性获取绝对URL。
protected void addChildren​(int index, Node… children)
protected void addChildren​(Node… children)
Node after​(String html) 将指定的HTML插入此节点之后的DOM中。
Node after​(Node node) 将指定的节点插入此节点之后的DOM中。
String attr​(String attributeKey) 通过其键获取属性的值。
Node attr​(String attributeKey, String attributeValue) 设置属性(键=值)。
abstract Attributes attributes() 获取元素的所有属性。
abstract String baseUri() 获取适用于此节点的基本URI。
Node before​(String html) 将指定的HTML插入此节点之前的DOM中。
Node before​(Node node) 将指定节点插入该节点之前的DOM中。
Node childNode​(int index) 通过基于0的索引获取子节点。
List<Node> childNodes() 获取此节点的子级。
protected Node[] childNodesAsArray()
List<Node> childNodesCopy() 返回此节点的子级的深层副本。
abstract int childNodeSize() 获取此节点拥有的子节点数。
Node clearAttributes() 清除(删除)此节点中的所有属性。
Node clone() 创建该节点及其所有子节点的独立的深层副本。
protected Node doClone​(Node parent)
protected abstract void doSetBaseUri​(String baseUri) 如果此节点跟踪基本URI,则仅为此节点(而不是其后代)设置baseUri。
abstract Node empty() 删除该节点的所有子节点。
protected abstract List<Node> ensureChildNodes()
boolean equals​(Object o) 检查此节点是否与另一个节点相同(对象身份测试)。
Node filter​(NodeFilter nodeFilter) 通过该节点及其后代执行深度优先过滤。
boolean hasAttr​(String attributeKey) 测试此元素是否具有属性。
protected abstract boolean hasAttributes() 检查此Node是否具有实际的Attributes对象。
boolean hasParent()
boolean hasSameValue​(Object o) 检查此节点是否与另一个节点具有相同的内容。
<T extends Appendable> T html​(T appendable) 将此节点及其子节点写入给定的Appendable。
protected void indent​(Appendable accum, int depth, out)
Node nextSibling() 获取此节点的下一个同级。
abstract String nodeName() 获取此节点的节点名称。
String outerHtml() 获取此节点的外部HTML。
protected void outerHtml​(Appendable accum)
Document ownerDocument() 获取与此节点关联的文档。
Node parent() 获取此节点的父节点。
Node parentNode() 获取此节点的父节点。
Node previousSibling() 获取此节点的先前同级。
void remove() 从DOM树中删除(删除)此节点。
Node removeAttr​(String attributeKey) 从此节点删除属性。
protected void removeChild​(Node out)
protected void reparentChild​(Node child)
protected void replaceChild​(Node out, Node in)
void replaceWith​(Node in) 用提供的节点替换DOM中的该节点。
Node root() 获取此节点的根节点;就是它的最高祖先。
void setBaseUri​(String baseUri) 更新此节点及其所有后代的基本URI。
protected void setParentNode​(Node parentNode)
protected void setSiblingIndex​(int siblingIndex)
Node shallowClone() 创建该节点的独立浅副本。
int siblingIndex() 获取此节点在其节点同级列表中的列表索引。
List<Node> siblingNodes() 检索此节点的兄弟节点。
String toString() 获取此节点的外部HTML。
Node traverse​(NodeVisitor nodeVisitor) 在该节点及其后代中进行深度优先遍历。
Node unwrap() 从DOM中删除此节点,并将其子级上移到该节点的父级中。
Node wrap​(String html) 将提供的HTML环绕此节点。

public class
extends ArrayList

构造方法

构造方法 描述
Elements()
Elements​(int initialCapacity)
Elements​(Collection<Element> elements)
Elements​(List<Element> elements)
Elements​(Element… elements)

所有方法

修饰符和类型 方法名称 描述
String absUrl​(String attributeKey) 从可能是相对的URL属性获取绝对URL。
Elements addClass​(String className) 将类名称添加到每个匹配元素的class属性中。
Elements after​(String html) 在每个匹配元素的外部HTML之后插入提供的HTML。
Elements append​(String html) 将提供的HTML添加到每个匹配元素的内部HTML的末尾。
String attr​(String attributeKey) 从具有该属性的第一个匹配元素中获取一个属性值。
Elements attr​(String attributeKey, String attributeValue) 在所有匹配的元素上设置属性。
Elements before​(String html) 在每个匹配元素的外部HTML之前插入提供的HTML。
Elements clone() 创建这些元素的深层副本。
List<Comment> comments() 获取Comment作为所选元素的直接子节点的节点。
List<DataNode> dataNodes() 获取DataNode作为所选元素的直接子节点的节点。
List<String> eachAttr​(String attributeKey) 获取每个匹配元素的属性值。
List<String> eachText() 获取每个匹配元素的文本内容。
Elements empty() 清空(从中删除所有子节点)每个匹配的元素。
Elements eq​(int index) 获取第n个匹配的元素作为Elements对象。
Elements filter​(NodeFilter nodeFilter) 对每个选定元素执行深度优先过滤。
Element first() 获取第一个匹配的元素。
List<FormElement> forms() FormElement从所选元素(如果有)中
boolean hasAttr​(String attributeKey) 检查是否有任何匹配的元素定义了此属性。
boolean hasClass​(String className) 确定是否有任何匹配的元素在其class属性中设置了此类名称。
boolean hasText() 测试是否有任何匹配的Element具有文本内容,而不仅仅是空白。
String html() 获取所有匹配元素的组合内部HTML。
Elements html​(String html) 设置每个匹配元素的内部HTML。
boolean is​(String query) 测试是否有任何匹配的元素与提供的查询匹配。
Element last() 获取最后匹配的元素。
Elements next() 获取此列表中每个元素的直接下一个元素同级。
Elements next​(String query) 获取此列表中每个元素的直接下一个元素同级,由查询过滤。
Elements nextAll() 获取此列表中每个元素的以下每个元素同级。
Elements nextAll​(String query) 获取此列表中与查询匹配的每个元素的以下每个元素同级。
Elements not​(String query) 从此列表中删除与Selector查询匹配的元素。
String outerHtml() 获取所有匹配元素的组合外部HTML。
Elements parents() 获取匹配元素的所有父元素和祖先元素。
Elements prepend​(String html) 将提供的HTML添加到每个匹配元素的内部HTML的开头。
Elements prev() 获取此列表中每个元素的直接上一个元素同级。
Elements prev​(String query) 获取此列表中每个元素的直接前一个元素同级,由查询过滤。
Elements prevAll() 获取此列表中每个元素的每个先前的元素同级。
Elements prevAll​(String query) 获取此列表中与查询匹配的每个元素的每个先前的元素同级。
Elements remove() 从DOM中删除每个匹配的元素。
Elements removeAttr​(String attributeKey) 从每个匹配的元素中删除一个属性。
Elements removeClass​(String className) 从每个匹配元素的class属性中删除类名称(如果存在)。
Elements select​(String query) 在此元素列表中找到匹配的元素。
Elements tagName​(String tagName) 更新每个匹配元素的标签名称。
String text() 获取所有匹配元素的组合文本。
List<TextNode> textNodes() 获取TextNode作为所选元素的直接子节点的节点。
Elements toggleClass​(String className) 在每个匹配元素的class属性上切换类名称。
String toString() 获取所有匹配元素的组合外部HTML。
Elements traverse​(NodeVisitor nodeVisitor) 对每个选定元素执行深度优先遍历。
Elements unwrap() 从DOM中删除匹配的元素,并将其子级上移到其父级中。
String val() 获取第一个匹配元素的表单元素的值。
Elements val​(String value) 在每个匹配的元素中设置表单元素的值。
Elements wrap​(String html) 将提供的HTML环绕每个匹配的元素。

public interface Connection 接口
要获得一个新连接,使用(字符串)。连接包含连接。请求和连接。响应对象。请求对象可作为原型请求重用。

所有方法

修饰符和类型 方法名称 描述
Connection cookie​(String name, String value) 设置要在请求中发送的cookie。
Connection cookies​(Map<String,​String> cookies) 将每个提供的cookie添加到请求中。
data​(String key) 获取此密钥的数据KeyVal(如果有)
Connection data​(String… keyvals) 添加许多请求数据参数。
Connection data​(String key, String value) 添加请求数据参数。
Connection data​(String key, String filename, InputStream inputStream) 添加输入流作为请求数据参数。
Connection data​(String key, String filename, InputStream inputStream, String contentType) 添加输入流作为请求数据参数。
Connection data​(Collection<> data) 将所有提供的数据添加到请求数据参数中
Connection data​(Map<String,​String> data) 将所有提供的数据添加到请求数据参数中
execute() 执行请求。
Connection followRedirects​(boolean followRedirects) 将连接配置为(不)遵循服务器重定向。
Document get() 将请求作为GET执行,然后解析结果。
Connection header​(String name, String value) 设置请求标头。
Connection headers​(Map<String,​String> headers) 将每个提供的标头添加到请求中。
Connection ignoreContentType​(boolean ignoreContentType) 解析响应时,忽略文档的Content-Type。
Connection ignoreHttpErrors​(boolean ignoreHttpErrors) 将连接配置为在发生HTTP错误时不引发异常。
Connection maxBodySize​(int bytes) 设置在关闭连接之前,将要从(未压缩的)连接读入主体的最大字节数,并截断输入(即
Connection method​( method) 将请求方法设置为使用GET或POST。
Connection parser​(Parser parser) 提供在解析对文档的响应时要使用的备用解析器。
Document post() 将请求作为POST执行,然后解析结果。
Connection postDataCharset​(String charset) 设置x-www-form-urlencoded帖子数据的默认帖子数据字符集
Connection proxy​(String host, int port) 设置用于此请求的HTTP代理。
Connection proxy​(Proxy proxy) 设置要用于此请求的代理。
Connection referrer​(String referrer) 设置请求引荐来源网址(又称为“引荐来源”)标头。
request() 获取与此连接关联的请求对象
Connection request​( request) 设置连接的请求
Connection requestBody​(String body) 设置POST(或PUT)请求正文。
response() 请求执行后,获取响应
Connection response​( response) 设置连接的响应
Connection sslSocketFactory​(SSLSocketFactory sslSocketFactory) 设置自定义SSL套接字工厂
Connection timeout​(int millis) 设置总的请求超时时间。
Connection url​(String url) 将请求URL设置为获取。
Connection url​(URL url) 将请求URL设置为获取。
Connection userAgent​(String userAgent) 设置请求用户代理标头。

相关文章