一、介绍
我们打开goquery的官方站点,
https://github.com/PuerkitoBio/goquery
下面是官方的介绍:goquery就是go语言的jQuery
goquery为Go语言带来了类似于jQuery 的语法和一组功能。
它基于 Go 的net/html 包和 CSS 选择器库cascadia。由于 net/html 解析器返回节点,而不是功能齐全的 DOM 树,因此 jQuery 的状态操作函数(如 height()、css()、detach())已被放弃。
引用
另外,因为 net/html 解析器需要 UTF-8 编码,所以 goquery 也需要:调用者有责任确保源文档提供 UTF-8 编码的 HTML。请参阅wiki了解执行此操作的各种选项。
引用
在语法方面,它尽可能接近 jQuery,尽可能使用相同的函数名称,以及温暖而模糊的可链接界面。jQuery 是一个超流行的库,我觉得编写一个类似的 HTML 操作库最好遵循它的 API,而不是重新开始(与 Go 的包的精神相同),尽管它的一些方法fmt比直观(看着你,index() ...)。
安装:
go get github.com/PuerkitoBio/goquery
使用介绍
package goquery
import (
"log"
"net/http"
"testing"
"github.com/PuerkitoBio/goquery"
)
func TestName(t *testing.T) {
// Request the HTML page.
res, err := http.Get("http://metalsucks.net")
if err != nil {
log.Fatal(err)
}
defer res.Body.Close()
if res.StatusCode != 200 {
log.Fatalf("status code error: %d %s", res.StatusCode, res.Status)
}
// Load the HTML document
doc, err := goquery.NewDocumentFromReader(res.Body)
if err != nil {
log.Fatal(err)
}
title := doc.Find("title")
t.Log(title.Text())
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。