我刚开始学习Golang。我想从网站上找到一些信息,并提取我需要的数据。我正在使用PuerkitoBio/goquery包来选择元素并从中读取。我想从这段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, %sn", i, Cases, Active)
})
}
func main() {
ExampleNewDocumentFromReader_string()
}