- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
jsoup Cookbook(中文版) 入门 解析和遍历一个html文档 输入 解析一个html字符串 解析一个body片断 根据一个url加载Document对象 根据一个文件加载Document对象 数据抽取 使用dom方法来遍历一个Document对象 使用选择器语法来查找元素 从元素集合抽取属性、文本和html内容 URL处理 程序示例:获取所有链接 数据修改 设置属性值 设置元素的html内容 设置元素的文本内容 html清理 消除不受信任的html (来防止xss攻击) 1.解析和遍历一个HTML文档 如何解析一个HTML文档: String html = htmlheadtitleFirst parse/title/head + bodypParsed HTML into a doc./p/body/html; Document doc = Jsoup.parse(html); (更详细内容可查看 解析一个HTML字符串.) 其解析器能够尽最大可能从你提供的HTML文档来创见一个干净的解析结果,无论HTML的格式是否完整。比如它可以处理: 没有关闭的标签 (比如: pLorem pIpsum parses to pLorem/p pIpsum/p) 隐式标签 (比如. 它可以自动将 tdTable data/td包装成tabletrtd?) 创建可靠的文档结构(html标签包含head 和 body,在head只出现恰当的元素) 一个文档的对象模型 文档由多个Elements和TextNodes组成 (以及其它辅助nodes:详细可查看:nodes package tree). 其继承结构如下:Document继承Element继承Node. TextNode继承 Node. 一个Element包含一个子节点集合,并拥有一个父Element。他们还提供了一个唯一的子元素过滤列表。 参见 数据抽取:DOM遍历 数据抽取:Selector syntax 2.解析一个HTML字符串 存在问题 来自用户输入,一个文件或一个网站的HTML字符串,你可能需要对它进行解析并取其内容,或校验其格式是否完整,或想修改它。怎么办?jsonu能够帮你轻松解决这些问题 解决方法 使用静态Jsoup.parse(String html) 方法或 Jsoup.parse(String html, String baseUri)示例代码: String html = htmlheadtitleFirst parse/title/head + bodypParsed HTML into a doc./p/body/html; Document doc = Jsoup.parse(html); 描述 parse(String html, String baseUri) 这方法能够将输入的HTML解析为一个新的文档 (Document),参数 baseUri 是用来将相对 URL 转成绝对URL,并指定从哪个网站获取文档。如这个方法不适用,你可以使用 parse(String html) 方法来解析成HTML字符串如上面的示例。. 只要解析的不是空字符串,就能返回一个结构合理的文档,其中包含(至少)?一个head和一个body元素。 一旦拥有了一个Document,你就可以使用Document中适当的方法或它父类 Element和Node中的方法来取得相关数据。 3.解析一个body片断 问题 假如你有一个HTML片断 (比如. 一个 div 包含一对 p 标签; 一个不完整的HTML文档) 想对它进行解析。这个HTML片断可以是用户提交的一条评论或在一个CMS页面中编辑body部分。 办法 使用Jsoup.parseBodyFragment(String html)方法. String html = divpLorem ipsum./p; Document doc = Jsoup.parseBodyFragment(html); Element body = doc.body(); 说明 parseBodyFragment 方法创建一个空壳的文档,并插入解析过的HTML到body元素中。假如你使用正常的 Jsoup.parse(String html) 方法,通常你也可以得到相同的结果,但是明确将用户输入作为 body片段处理,以确保用户所提供的任何糟糕的HTML都将被解析成body元素。 Document.body() 方法能够取得文档body元素的所有子元素,与 doc.getElementsByTag(body)相同。 保证安全Stay safe 假如你可以让用户输入HTML内容,那么要小心避免跨站脚本攻击。利用基于 Whiteli
文档评论(0)