我想使用 goquery 获取 DOM 的类型名称,如“a”、“img”、“tr”、“td”、“center”。我怎样才能得到?
package main
import (
"github.com/PuerkitoBio/goquery"
)
func main() {
doc, _ := goquery.NewDocument("https://news.ycombinator.com/")
doc.Find("html body").Each(func(_ int, s *goquery.Selection) {
// for debug.
println(s.Size()) // return 1
// I expect '<center>' on this URL, but I can't get it's name.
// println(s.First().xxx) // ?
})
}
Run Code Online (Sandbox Code Playgroud)
*Selection.First给你另一个*Selection包含一片*html.Node具有Data其中包含字段:
元素节点的标签名称,文本的内容
所以像这样:
package main
import (
"github.com/PuerkitoBio/goquery"
"golang.org/x/net/html"
)
func main() {
doc, _ := goquery.NewDocument("https://news.ycombinator.com/")
doc.Find("html body").Each(func(_ int, s *goquery.Selection) {
// for debug.
println(s.Size()) // return 1
if len(s.Nodes) > 0 && s.Nodes[0].Type == html.ElementNode {
println(s.Nodes[0].Data)
}
})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1857 次 |
| 最近记录: |