如何使用goquery进行HTML解析以及它的源码分析和实现原理
package main
import (
"fmt"
"log"
"net/http"
"github.com/PuerkitoBio/goquery"
)
func main() {
// 示例网页
res, err := http.Get("https://example.com")
if err != nil {
log.Fatal(err)
}
defer res.Body.Close()
if res.StatusCode != 200 {
log.Fatalf("status code error: %d %s", res.StatusCode, res.Status)
}
// 使用goquery解析HTML文档
doc, err := goquery.NewDocumentFromReader(res.Body)
if err != nil {
log.Fatal(err)
}
// 查询HTML文档并打印结果
doc.Find("div").Each(func(i int, s *goquery.Selection) {
// 可以在这里进行更复杂的DOM操作
fmt.Printf("第%d个div元素的内容: %s\n", i, s.Text())
})
}
这段代码演示了如何使用goquery库从一个网页获取内容,并对其中的<div>
元素进行遍历和打印。它提供了一个简单的示例,展示了如何开始使用goquery库,并且如何通过goquery进行基本的HTML文档解析。
评论已关闭