在 Go 语言中,没有直接名为 BeautifulSoup 的库,但有类似的库可以实现类似的功能。最接近的是 goquery 库,它是一个类似于 jQuery 的库,基于 net/html 和 CSS 选择器库 cascadia 实现 。另一个选择是 soup 库,它受到 Python 的 BeautifulSoup 的启发,提供了直观的 API 来解析 HTML 内容 。
goquery 使用方法
- 导入包
import "github.com/PuerkitoBio/goquery" - 加载页面
res, err := http.Get("http://example.com") if err != nil { log.Fatal(err) } defer res.Body.Close() doc, err := goquery.NewDocumentFromReader(res.Body) if err != nil { log.Fatal(err) } - 选择元素
doc.Find("selector").Each(func(i int, s *goquery.Selection) { // 处理每个元素 })
安装:
go get github.com/PuerkitoBio/goquery
基本使用:
soup 使用方法
- 导入包
import "github.com/anaskhan96/soup" - 发起请求
source, err := soup.Get("http://example.com") if err != nil { log.Fatal(err) } doc := soup.HTMLParse(source) - 选择元素
roots := doc.Find("tag", "class", "value") for _, root := range roots { // 处理每个元素 }
安装:
go get github.com/anaskhan96/soup
基本使用:
这两个库都提供了强大的功能来解析和操作 HTML 文档,选择适合你需求的库来使用。