3

http://godoc.org/code.google.com/p/go.net/htmlGOのサードパーティ ライブラリを使用して、URL からデータを取得したいと考えています。しかし、問題が発生しました。つまり、html.Node のコンテンツを取得できませんでした。

リファレンス ドキュメントにサンプル コードがあり、コードは次のとおりです。

s := `<p>Links:</p><ul><li><a href="foo">Foo</a><li><a href="/bar/baz">BarBaz</a></ul>`
doc, err := html.Parse(strings.NewReader(s))
if err != nil {
    log.Fatal(err)
}
var f func(*html.Node)
f = func(n *html.Node) {
    if n.Type == html.ElementNode && n.Data == "a" {
        for _, a := range n.Attr {
            if a.Key == "href" {
                fmt.Println(a.Val)
                break
            }
        }
    }
    for c := n.FirstChild; c != nil; c = c.NextSibling {
        f(c)
    }
}
f(doc)

出力は次のとおりです。

foo
/bar/baz

手に入れたいなら

Foo
BarBaz

私は何をすべきか?

4

1 に答える 1