package main

import (
    "fmt"
    "github.com/PuerkitoBio/goquery"
    "log"
)

func main() {

    var links string = ""

    doc, err := goquery.NewDocument("https://dev.bolshoi.ru/visit/buyingnew/")
    if err != nil {
        log.Fatal(err)
    }

    doc.Find("a:contains(\"График предварительной продажи билетов на декабрь 2023\")").Each(func(i int, s *goquery.Selection) {
        link, _ := s.Attr("href")
        fmt.Printf(link)
    })
}

我刚开始学这门语言,我不太明白该怎么做

推荐答案

以下是将链接值分配给外部链接变量的方法:

package main

import (
    "fmt"
    "log"
    "net/http"

    "github.com/PuerkitoBio/goquery"
)

func main() {
    var links string = ""

    resp, err := http.Get("https://dev.bolshoi.ru/visit/buyingnew/")
    if err != nil {
        log.Fatal(err)
    }
    doc, err := goquery.NewDocumentFromReader(resp.Body)
    if err != nil {
        log.Fatal(err)
    }

    doc.Find("a:contains(\"График предварительной продажи билетов на декабрь 2023\")").Each(func(i int, s *goquery.Selection) {
        link, _ := s.Attr("href")
        fmt.Println(link)
        links = link
    })
    fmt.Println(links)
}

如果有多个链接,您可以创建一个切片:

links := []string{}

//...

doc.Find("a:contains(\"График предварительной продажи билетов на декабрь 2023\")").Each(func(i int, s *goquery.Selection) {
    link, _ := s.Attr("href")
    fmt.Println(link)
    links = append(links, link)
})
fmt.Println(links)

Go相关问答推荐

在Golang中Mergesort的递归/并行实现中出现死锁

在GO中使用泛型类型 struct 实现接口方法

Date.Format正在输出非常奇怪的日期

Golang SDK for DynamoDB:ReturnValuesOnConditionCheckFailure在条件chcek失败发生时不返回条件的详细信息

如何根据地址和大小打印字符串

在 Go 中使用 Apache Arrow 按时间间隔对事件进行分区

如何在 Go 中将 int 转换为包含 complex128 的泛型类型?

自定义 Fyne 自适应网格布局

上传图片失败,出现错误dial tcp: lookup api.cloudinary.com: no such host

如何将元素从一个切片移动到另一个切片

如何在 Docker 容器中使用私有存储库进行身份验证

获取切片元素的地址是否意味着 Go 中元素的副本?

如果服务器在客户端的 gRPC 中不可用,则等待的方法

具有多个嵌入式 struct 的 Go MarshalJSON 行为

gqlgen go,通过添加一个解析器来减少数据库调用

如何在 Unmarshal 中使用泛型(转到 1.18)

为什么 Go 中的 maps.Keys() 将 map 类型指定为 M?

如何使用 context.WithCancel 启动和停止每个会话的心跳?

try 创建新的 etcdv3 客户端时出现pc error: code = Unavailable desc = error reading from server: EOF

Go http标准库中的内存泄漏?