HTML解析利器--Jsoup学习(基于kotlin编码)

本文介绍了Jsoup,一个基于Java的HTML解析库,它能处理URL和HTML字符串,支持DOM和CSS选择器。文章讨论了如何处理相对路径、编辑HTML文档、以及如何使用Jsoup的HTML Cleaner防御XSS攻击。通过设定Whitelist,Jsoup能确保用户输入的安全,同时限制可输入的HTML标签和属性。
摘要由CSDN通过智能技术生成

Jsoup
基于java平台的HTML解析工具,针对HTML字符串,URL地址。

功能
1. URL基于网络解析HTML
2. HTML字符串解析
3. 类DOM或CSS选择器解析
4. 解析Body片段

字符串、文件、网络解析、DOM树解析、选择器解析:

package util

import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import org.jsoup.select.Elements
import java.io.File

//字符串解析
fun loadFromString() {
    val stringURL:String = "<html><head><title>just for an example</title></head>" +
            "<body>Hello World</body></html>"
    val doc = Jsoup.parse(stringURL)
    println("字符串解析")
    println(doc.title())
    println(doc.body())
    println("---------------")
}
//html文件解析
fun loadFromFile(){
    val file:File = File("D:/hello.htm")
    val doc:Document = Jsoup.parse(file,"utf-8")
    println("HTML文件解析")
    println(doc.title())
    println(doc.body())
    println("----------------")
}
//网络获取解析(自动创建Connection取得HTML,出错抛出IO异常)
fun loadFromNet(){
    val doc:Document = Jsoup.connect("http://www.baidu.com").get()
    println("网络获取解析")
    println(doc.title())
    println("-----------------")

//    //特殊需求样例
//    val doc2:Document = Jsoup.connect("http://www.baidu.com")
//            .data("query","info")          // 请求参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值