我是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/