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安装使用的资料请关注脚本之家其它相关文章!

相关文章

  • 通过案例简单聊聊为什么说Go中的字符串是不能被修改的

    通过案例简单聊聊为什么说Go中的字符串是不能被修改的

    在接触Go这么语言,可能你经常会听到这样一句话,对于字符串不能修改,可能你很纳闷,日常开发中我们对字符串进行修改也是很正常的,为什么又说Go中的字符串不能进行修改呢,本文就来通过实际案例给大家演示,为什么Go中的字符串不能进行修改
    2023-07-07
  • 详解 Go 语言中 Map 类型和 Slice 类型的传递

    详解 Go 语言中 Map 类型和 Slice 类型的传递

    这篇文章主要介绍了详解 Go 语言中 Map 类型和 Slice 类型的传递的相关资料,需要的朋友可以参考下
    2017-09-09
  • Go语言LeetCode题解1046最后一块石头的重量

    Go语言LeetCode题解1046最后一块石头的重量

    这篇文章主要为大家介绍了Go语言LeetCode题解1046最后一块石头的重量,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 通过案例详细聊聊Go语言的变量与常量

    通过案例详细聊聊Go语言的变量与常量

    在任何一门现代的高级语言中,变量和常量都是它非常基础的程序结构的组成部分,下面这篇文章主要给大家介绍了关于如何通过案例详细聊聊Go语言的变量与常量的相关资料,需要的朋友可以参考下
    2023-03-03
  • Go 中实现超时控制的方案

    Go 中实现超时控制的方案

    这篇文章主要介绍了Go 里的超时控制实现方案,本文给大家带来两种解决方案,第一种方案是 Time.After(d Duration),第二种方案是利用 context,go 的 context 功能强大,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2021-10-10
  • Go channel发送方和接收方如何相互阻塞等待源码解读

    Go channel发送方和接收方如何相互阻塞等待源码解读

    这篇文章主要为大家介绍了Go channel发送方和接收方如何相互阻塞等待源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 一文详解Go Http Server原理

    一文详解Go Http Server原理

    这篇文章主要为大家介绍了Go Http Server原理示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Go语言defer语句的三种机制整理

    Go语言defer语句的三种机制整理

    在本篇文章里小编给大家分享的是一篇关于Go语言defer语句的三种机制整理,需要的朋友们学习下吧。
    2020-03-03
  • 详解golang consul-grpc 服务注册与发现

    详解golang consul-grpc 服务注册与发现

    这篇文章主要介绍了详解golang consul-grpc 服务注册与发现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • GO中Json解析的几种方式

    GO中Json解析的几种方式

    本文主要介绍了GO中Json解析的几种方式,详细的介绍了几种方法, 文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01

最新评论