package main import ( "fmt" "log" "strconv" "strings" "github.com/PuerkitoBio/goquery" ) func findByEle(htmlDoc string) { dom, err := goquery.NewDocumentFromReader(strings.NewReader(htmlDoc)) if err != nil { log.Fatalln(err) // 输出并退出程序 } // 1.元素选择器 dom.Find("div").Each(func(i int, s *goquery.Selection) { fmt.Println("i", i, "选中的文本", s.Text()) }) // 2.ID选择器 dom.Find("#div1").Each(func(i int, s *goquery.Selection) { fmt.Println("i", i, "选中的文本", s.Text()) }) dom.Find("div#div1").Each(func(i int, s *goquery.Selection) { fmt.Println("i", i, "选中的文本", s.Text()) }) // 3.class类选择器 dom.Find(".c1").Each(func(i int, s *goquery.Selection) { fmt.Println("i", i, "选中的文本", s.Text()) }) dom.Find("div.c1").Each(func(i int, s *goquery.Selection) { fmt.Println("i", i, "选中的文本", s.Text()) }) } func main() { /* 文档解析库 goquery */ htmlDoc := ` <body> <div id="div1">d1</div> <div class="c1">d2</div> <span>s1</span> </body> ` findByEle(htmlDoc) }