Go解析html文档 goquery | Go


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)
}

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM