没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
中文版
入门
解析和遍历一个
文档
输入
解析一个
字符串
解析一个
片断
根据一个
加载
对象
根据一个文件加载
对象
数据抽取
使用
方法来遍历一个
对象
使用选择器语法来查找元素
从元素集合抽取属性、文本和
内容
!"#
处理
$ 程序示例:获取所有链接
数据修改
设置属性值
设置元素的
内容
设置元素的文本内容
清理
消除不受信任的
来防止
%
攻击
解析和遍历一个 &'(# 文档
如何解析一个 &'(# 文档:
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-*%/,应适当处理。
剩余23页未读,继续阅读
lidaoshen006
- 粉丝: 1
- 资源: 76
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- NT98336 SDK 114版本
- torch-1.8.1+cu111-cp38-cp38-linux-x86-64.whl +torchvision
- 计算机设计 - VB+ACCESS网络计时管理系统设计(源代码+系统),保证可靠运行,毕业生可参考,免费资源下载
- 计算机设计 - vb+ACCESS身份证管理系统设计(LW+源代码),保证可靠运行,毕业生可参考,免费资源下载
- ARCMAP自动编号工具
- W801学习笔记十三:掌机系统-系统基础组件-PNG-loader
- studydatastruct3
- XHS链接提取/作品采集工具
- general-exporter windows
- kotlin语法快速入门文档
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页