Go言語でスクレイピングするためにgoqueryを使ってみる

使うライブラリ

goqueryのインストール

go getコマンドを実行するだけ

go get github.com/PuerkitoBio/goquery

リンクを抽出してみる

package main

import (
    "fmt"
    "github.com/PuerkitoBio/goquery"
)

func main() {
    // :=演算子は初期値を宣言する
    doc, err := goquery.NewDocument("http://example.com")
    if err != nil {
        fmt.Printf("Failed")
    }
    title := doc.Find("title").Text()
    // println : 改行付き出力
    fmt.Println(title)
    doc.Find("a").Each(func(i int, s *goquery.Selection) {
        // Attrの戻り値 val string, exists bool
        link, _ := s.Attr("href")
        fmt.Println(link)
    })
}

あとは実行するだけ!

$ go run scraping.go

すごく手軽にスクレイピングを始めることができた。 簡単なことしかやってないが、いろいろとできそう!

godoc.org