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) | 设置请求用户代理标头。 |