とある子育てパパの日記

とある子育てパパの日記です

goqueryでスクレイピング / golang

goqueryというライブラリを使ってgolangスクレイピングをやってみた。

下記のコードを実行するとhttp://techblog-sokuhou.com内のページtitleと記事一覧を取得します。

ちなみにhttp://techblog-sokuhou.comは、私が運営(放置に近いけど)しているテックブログのまとめサイトになります。

package main

import (
    "fmt"

    "github.com/PuerkitoBio/goquery"
)

func main() {
    url := "http://techblog-sokuhou.com"

    doc, err := goquery.NewDocument(url)
    if err != nil {
        fmt.Println(err)
    }

    title := doc.Find("title").Text()
    fmt.Println(title)

    doc.Find(".article").Each(func(i int, s *goquery.Selection) {

        link := s.Find("a")
        linkText := link.Text()
        linkHtml, _ := link.Html()
        linkUrl, _ := link.Attr("href")

        fmt.Println(linkText, linkUrl, linkHtml, "------------")
    })
}

詳細な利用方法はこちら github.com

godoc.org