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