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("http://bp.shijialeya.top").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("http://bp.shijialeya.top").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,代码如下所示:
在同目录下创建 index.html

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

编写 Java 类

@Test
//通过 File 方式获取
public void test05() {File file = new File("src/main/resources/index.html");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) :查找包含指定字符串的元素

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

<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/index.html");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="boxId"> Id div 盒子 </div>//getElementsByClass class 选择器Elements e3 = document.getElementsByClass("boxClass");System.out.println(e3);//<div class="boxClass"> class div 盒子 </div>//getAllElementsElements 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/index.html");Document document = null;try {document = Jsoup.parse(file, "UTF-8");//html:不带参数是获取 html,带参数是设置 htmlString html = document.select("body").html();System.out.println(html);//text:不带参数是获取 text,带参数是设置 textString 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 org.jsoup.Jsoup 类
extends Object

所有方法

修饰符和类型 方法名称 描述
static String clean​(String bodyHtml, String baseUri, Whitelist whitelist) 通过解析输入HTML并通过允许的标签和属性的白名单对其进行过滤,从不受信任的输入HTML中获得安全的HTML。
static String clean​(String bodyHtml, String baseUri, Whitelist whitelist, Document.OutputSettings 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 org.jsoup.nodes.Document 类
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。
Document.OutputSettings outputSettings() 获取文档的当前输出设置。
Document outputSettings​(Document.OutputSettings outputSettings) 设置文档的输出设置。
Parser parser() 获取用于解析此文档的解析器。
Document parser​(Parser parser) 设置用于创建此文档的解析器。
Document.QuirksMode quirksMode()
Document 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 org.jsoup.nodes.Element 类
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 org.jsoup.nodes.Node 类
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, Document.OutputSettings 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 org.jsoup.select.Elements 类
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 接口
要获得一个新连接,使用Jsoup.connect(字符串)。连接包含连接。请求和连接。响应对象。请求对象可作为原型请求重用。

所有方法

修饰符和类型 方法名称 描述
Connection cookie​(String name, String value) 设置要在请求中发送的cookie。
Connection cookies​(Map<String,​String> cookies) 将每个提供的cookie添加到请求中。
Connection.KeyVal 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<Connection.KeyVal> data) 将所有提供的数据添加到请求数据参数中
Connection data​(Map<String,​String> data) 将所有提供的数据添加到请求数据参数中
Connection.Response 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​(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) 设置请求引荐来源网址(又称为“引荐来源”)标头。
Connection.Request request() 获取与此连接关联的请求对象
Connection request​(Connection.Request request) 设置连接的请求
Connection requestBody​(String body) 设置POST(或PUT)请求正文。
Connection.Response response() 请求执行后,获取响应
Connection 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) 设置请求用户代理标头。

jsoup 的基本使用以及API内容相关推荐

  1. java jsoup解析开彩网api接口json数据实例

    https://www.cnblogs.com/zdz8207/p/7288830.html 开彩网apiJava技术学习 https://www.itkc8.com json-lib-2.4-jdk ...

  2. strapi 开源api 内容管理平台试用

    strapi 是一个开源的api && 内容管理平台,功能操作起来还是比较方便简单的. 安装 使用docker && docker-compose 代码clone gi ...

  3. Jsoup获取动态js生成的内容

    Jsoup本身是只能获取到静态页面的数据,并无法获取动态生成的内容,所以单单使用jsoup是无法获取到js生成的内容的.我这里使用了htmlunit来获取网页内容后,将网页转换成xml格式,再通过js ...

  4. autojs调用jsoup提取QQ收藏的完整内容

    说明 本文提供的代码仅供参考. 可能有些地方在最新版本的Auto.js上面需要做修改,才能运行. Auto.js简介 Auto.js是利用安卓系统的"辅助功能"实现类似于按键精灵一 ...

  5. java使用爬虫工具jsoup实现抓取网页的内容及图片并写入到word文档中

    背景: 有个朋友最近让帮忙写个小功能,需求大概是,1万个链接,让爬每个链接中的某一段文章并附一张图片,每五个链接写入到一个word文档中. 基本思路,就是先去找个爬虫框架把链接网页中内容和图片写到wo ...

  6. QingTing.Fm-WPF是调用蜻蜓FMAPI 查询API内容展示,进行播放

    QingTing.Fm 是调用蜻蜓FM   API 查询界面内容,进行在线播放. Release地址下载 环境 Visual Studio 2019,dotNet Framework 4.6.1 SD ...

  7. Jsoup设置一个元素的HTML内容

    获取一个元素中的HTML内容,可以使用Element中的HTML设置方法. 示例 Element div = doc.select("div").first(); // <d ...

  8. HttpClient模拟登录、HtmlUnit模拟登录,jsoup爬取登录后的内容(不带验证码)

    一.HttpClient模拟登录是通过post或get请求,登录后抓取的是静态页面,动态页面使用HtmlUnit public static void main(String[] args) thro ...

  9. HTML5 API详解(12):canvas画布API提供的内容很丰富啊~

    不考虑代码质量的话,一般来说css3>canvas>纯js. 1. css3动画是独立与js线程的,js的运算操作不会阻塞css3的动画,所以在系统cpu占用率较高的时候,css3的动画性 ...

最新文章

  1. 膨胀卷积--Multi-scale context aggregation by dilated convolutions
  2. python求立方尾不变_蓝桥杯:单词分析——————Python
  3. 中小企业IT不可错过的十大虚拟机软件
  4. 如何从特定位置开始分享YouTube视频
  5. 计算器java程序设计报告总体设计,java程序设计实验报告-计算器
  6. 多软件启动器 v1.0
  7. Eureka Server 集群
  8. STM32F0xx_ADC采集电压配置详细过程
  9. html 中的特殊字符转义,html拼接字符串中特殊字符(‘ “ 等的转义问题)
  10. 关于如何提取仙剑奇侠传4的模型
  11. 逻辑题(持续更新中)
  12. win7蓝屏0x0000003b解决教程
  13. 《富兰克林自传》的读后感作文4300字
  14. IOS视频编辑,视频裁剪,视频拼接,音频处理,视频处理
  15. Vue~在线预览doc、docx、pdf、img文件
  16. memsql-官宣世界最快的内存关系型数据库安装部署
  17. Vi编辑器的常用命令2(文件操作)
  18. 如何破解PDF文档不能打印?
  19. 《黑客帝国》或颠倒的两面
  20. 开车和做股票有什么相似之处?

热门文章

  1. 迷茫!工作之余要学点什么呢?
  2. linux zynq usb0,Ubuntu下ZedBoard USB-Jtag驱动安装及双核调试
  3. 使用idsdt制作生成显卡代码的dsdt文件驱动显卡
  4. atmega32u4-QMK小键盘调试记录
  5. 电源芯片工作温度的计算
  6. 第一章 信息安全的基本元素
  7. ug圆柱凸轮槽展开公式matlab,基于UG与MATLAB的圆柱凸轮曲线槽设计
  8. 关于postgresql中with 临时表的使用,筛选出来当天温度比昨天温度高的数据
  9. 蒲慕明写给实验室学生的信
  10. 一款适用于Mac系统的wifi地址修改器