☃️

HTML 解析

示例

import "github.com/sohaha/zlsgo/zhttp" doc, err := zhttp.HTMLParse([]byte("<html><div class='box' id='B'>The is <div class='red text'>HTML</div></div></html>")) doc.Select("div").Text() // The is doc.Select("div").FullText() // The is HTML doc.Select("div").Attr("class") // box doc.Select("div", map[string]string{"class":"red"}).HTML() // <div class="red text">HTML</div> // 支持简单的 css 选择器 doc.Find("#id") doc.Find(".class") doc.Find("div > .class")
 

函数列表

// 解析 HTML doc, err := zhttp.HTMLParse([]btye("html 源码")) // 获取指定元素(简单支持 CSS 选择器) doc := doc.Find(el string) // 获取单个元素 doc.Select("标签名字",map[string]string{"属性名":"属性值"}) // 获取全部匹配元素 doc.SelectAll(el string,... map[string]string) // 获取指定下级元素 doc.SelectChild(el string, ...map[string]string) // 获取第几个下级元素 doc.NthChild(n) // 获取兄弟节点 doc.SelectBrother(el string, ...map[string]string) // 判断元素是否存在 doc.Exist() // 获取元素标签名 doc.Name() // 获取元素内容文本 doc.Text() // 获取元素内容文本并移除前后空白符 doc.Text(true) // 获取元素内容文本(包括子元素) doc.FullText() // 获取元素内容文本(包括子元素)并移除前后空白符 doc.FullText(true) // 获取元素 HTML 源码 doc.HTML() // 获取元素全部属性 doc.Atrrs() // 获取元素指定属于值 doc.Attr(key string)