goquery 入门(安装使用教程)

 更新时间:2023年10月20日 09:22:10   作者:海生  
这篇文章主要为大家介绍了goquery 入门(安装使用)教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

介绍

我们打开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())
}

以上就是goquery 入门(安装使用教程)的详细内容,更多关于goquery安装使用的资料请关注脚本之家其它相关文章!

相关文章

  • 浅谈Golang 切片(slice)扩容机制的原理

    浅谈Golang 切片(slice)扩容机制的原理

    我们知道 Golang 切片在容量不足的情况下会进行扩容,扩容的原理是怎样的呢,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • golang中defer的基本使用教程

    golang中defer的基本使用教程

    go语言中defer可以完成延迟功能,当前函数执行完成后再执行defer的代码块,下面这篇文章主要给大家介绍了关于golang中defer基本使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • golang调用shell命令(实时输出,终止)

    golang调用shell命令(实时输出,终止)

    本文主要介绍了golang调用shell命令(实时输出,终止),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • golang中defer执行时机的案例分析

    golang中defer执行时机的案例分析

    这篇文章主要来通过一些案例和大家一起探讨一下golang中defer的执行时机,文中的示例代码讲解详细,对我们深入了解golang有一定的帮助,感兴趣的可以跟随小编一起学习一下
    2023-11-11
  • Golang配置管理Viper的实现

    Golang配置管理Viper的实现

    Viper是Go语言配置管理库,支持JSON/YAML/TOML等多格式,可动态监听配置变更,本文就来介绍一下Golang配置管理Viper的实现,感兴趣的可以了解一下
    2025-07-07
  • Gin框架令牌桶限流实战指南

    Gin框架令牌桶限流实战指南

    限流是一种通过控制请求处理速率来保护系统的技术,它能有效防止服务器因突发流量或恶意攻击而过载,确保服务的稳定性和可用性,本文就来介绍一下Gin 框架令牌桶限流的实现,感兴趣的可以了解一下
    2025-10-10
  • Go Gin框架路由相关bug分析

    Go Gin框架路由相关bug分析

    这篇文章主要为大家介绍了Go Gin框架路由相关bug分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 使用Golang如何实现简易的令牌桶算法

    使用Golang如何实现简易的令牌桶算法

    这篇文章主要介绍了使用Golang如何实现简易的令牌桶算法问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • golang操作elasticsearch的实现

    golang操作elasticsearch的实现

    这篇文章主要介绍了golang操作elasticsearch,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • golang包快速生成base64验证码的方法

    golang包快速生成base64验证码的方法

    这篇文章主要介绍了golang包快速生成base64验证码的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03

最新评论