没有合适的资源?快使用搜索试试~ 我知道了~
jsoup 中文帮助文档 1. 解析和遍历一个html文档输入 2. 解析一个html字符串 3. 解析一个body片断 4. 根据一个url加载Document对象 5. 根据一个文件加载Document对象数据抽取 6. 使用dom方法来遍历一个Document对象 7. 使用选择器语法来查找元素 8. 从元素集合抽取属性、文本和html内容 9. URL处理 10. 程序示例:获取所有链接数据修改 11. 设置属性值 12. 设置元素的html内容 13. 设置元素的文本内容html清理 14. 消除不受信任的html (来防止xss攻击)
资源推荐
资源详情
资源评论
中文版
入门
解析和遍历一个
文档
输入
解析一个
字符串
解析一个
片断
根据一个
加载
对象
根据一个文件加载
对象
数据抽取
使用
方法来遍历一个
对象
使用选择器语法来查找元素
从元素集合抽取属性、文本和
内容
!"#
处理
$ 程序示例:获取所有链接
数据修改
设置属性值
设置元素的
内容
设置元素的文本内容
清理
消除不受信任的
来防止
%
攻击
解析和遍历一个 &'(# 文档
如何解析一个 &'(# 文档:
String html = "<html><head><title>First
parse</title></head>"
+ "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
更详细内容可查看解析一个
&'(#
字符串
其解析器能够尽最大可能从你提供的 &'(# 文档来创见一个干净的解析结果,无论 &'(# 的格
式是否完整。比如它可以处理:
没有关闭的标签比如:<p>Lorem <p>Ipsum)<p>Lorem</p>
<p>Ipsum</p>
隐式标签比如它可以自动将<td>Table data</td>包装成
<table><tr><td>?
创建可靠的文档结构( 标签包含 )和,在 ) 只出现恰当的元素)
一个文档的对象模型
文档由多个 * 和 '%+ 组成以及其它辅助 :详细可查看:
)),
其继承结构如下:Document
继承 Element
继承 NodeTextNode
继承Node
一个 * 包含一个子节点集合,并拥有一个父 *。他们还提供了一个唯一
的子元素过滤列表。
参见
数据抽取:-(
遍历
数据抽取:.)%
解析一个 &'(# 字符串
存在问题
来自用户输入,一个文件或一个网站的 &'(# 字符串,你可能需要对它进行解析并取其内容,
或校验其格式是否完整,或想修改它。怎么办? 能够帮你轻松解决这些问题
解决方法
使用静态 Jsoup.parse(String html)方法或Jsoup.parse(String html,
String baseUri)示例代码:
String html = "<html><head><title>First
parse</title></head>"
+ "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
描述
parse(String html, String baseUri)这方法能够将输入的 &'(# 解析为一个新
的文档),参数)!/是用来将相对!"#转成绝对 !"#,并指定从哪个网站获
取文档。如这个方法不适用,你可以使用parse(String html)方法来解析成 &'(# 字
符串如上面的示例。
只要解析的不是空字符串,就能返回一个结构合理的文档,其中包含至少0一个 ) 和一个
元素。
一旦拥有了一个 ,你就可以使用 中适当的方法或它父类Element
和
Node
中的方法来取得相关数据。
解析一个 片断
问题
假如你有一个 &'(# 片断比如一个div包含一对p标签1一个不完整的 &'(# 文档想对它
进行解析。这个 &'(# 片断可以是用户提交的一条评论或在一个 (. 页面中编辑 部分。
办法
使用 Jsoup.parseBodyFragment(String html)方法
String html = "<div><p>Lorem ipsum.</p>";
Document doc = Jsoup.parseBodyFragment(html);
Element body = doc.body();
说明
parseBodyFragment方法创建一个空壳的文档,并插入解析过的 &'(# 到 body 元素中。
假如你使用正常的Jsoup.parse(String html)方法,通常你也可以得到相同的结果,
但是明确将用户输入作为 片段处理,以确保用户所提供的任何糟糕的 &'(# 都将被解析
成 元素。
Document.body()方法能够取得文档 元素的所有子元素,与
doc.getElementsByTag("body")相同。
保证安全 Stay safe
假如你可以让用户输入 &'(# 内容,那么要小心避免跨站脚本攻击。利用基于Whitelist
的清除器和clean(String bodyHtml, Whitelist whitelist)方法来清除用户
输入的恶意内容。
从一个 !"# 加载一个
存在问题
你需要从一个网站获取和解析一个 &'(# 文档,并查找其中的相关数据。你可以使用下面解决
方法:
解决方法
使用Jsoup.connect(String url)方法2
Document doc =
Jsoup.connect("http://example.com/").get();
String title = doc.title();
说明
connect(String url)方法创建一个新的Connection3和get()取得和解析一个
&'(# 文件。如果从该 !"# 获取 &'(# 时发生错误,便会抛出4-*%/,应适当处理。
Connection接口还提供一个方法链来解决特殊请求,具体如下:
Document doc = Jsoup.connect("http://example.com")
.data("query", "Java")
.userAgent("Mozilla")
.cookie("auth", "token")
.timeout(3000)
.post();
剩余23页未读,继续阅读
资源评论
cat_猫
- 粉丝: 21
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功