go - Golang-使用PuerkitoBio/goquery分别为每个子元素查找文本

标签 go goquery

我是Golang的新手,刚刚开始学习它。我想从网站上找到一些信息,并提取所需的数据。我正在使用PuerkitoBio/goquery package选择元素并从中读取。我想从这段HTML中提取数据:

<ul class="cases-counter">
  <li>Cases: <strong>457</strong><br></li>
  <li>Active: <strong>16</strong><br></li>
</ul>

这是我拥有的代码:
doc.Find(".cases-counter").Each(func(i int, s *goquery.Selection) {
    text := s.Find("li").Text()
    fmt.Print(i)
    fmt.Printf(text)
})

这打印出我:
0Cases: 457Active: 16

在此示例中,如何将每个li element的文本分别打印为两个不同的变量?

最佳答案

你可以试试看

func ExampleNewDocumentFromReader_string() {

    data := `
<html>
    <ul class="cases-counter">
  <li id="Cases">Cases: <strong>457</strong><br></li>
  <li id="Active">Active: <strong>16</strong><br></li>
</ul>
</html>`

    doc, err := goquery.NewDocumentFromReader(strings.NewReader(data))
    if err != nil {
        log.Fatal(err)
    }

    doc.Find(".cases-counter").Each(func(i int, s *goquery.Selection) {

        Cases := s.Find("#Cases").Text()
        Active := s.Find("#Active").Text()
        fmt.Printf("Review %d: %s, %s\n", i, Cases, Active)
    })

}
func main() {
    ExampleNewDocumentFromReader_string()
}

关于go - Golang-使用PuerkitoBio/goquery分别为每个子元素查找文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61374136/

相关文章:

html - 如何使用goquery提取自定义html标签的文本?

http - GoQuery 响应代码

go - 使用goquery从html中提取文本,但结果仍然包含html标签

mongodb - Mongodb 中的投影无法正常工作

function - 以下涉及 Go 中 channel 的函数参数有什么区别?

mongodb - slice 元素的查找`from`集合上的match字段不起作用

go - 将Base64字符串转为PNG图片并响应为http Response - Go语言

go - 使用goQuery选择时有些失落

intellij-idea - 如何使用 IntelliJ 编译 Google Go bin