読者です 読者をやめる 読者になる 読者になる

goqueryが便利

GIFMAGAZINEのバックエンドの一部でGoを使いたいなと思って、最近Goを書きはじめた。

そこでとりあえずスクレイピングしてみるかと思って調べたら、goqueryなるライブラリを発見。

これを使えばgoでjqueryライクにセレクタを指定して、DOMノードを操作できる。

Rubyだとnokogiriを使っていたんだけど、それよりも個人的には直感的に使える感じがした。

以下はサンプル。

package main

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

func main() {
    doc, _ := goquery.NewDocument("http://matome.naver.jp/topic/1LuxN")
    doc.Find(".mdMTMTtlList02Item").Each(func(_ int, s *goquery.Selection) {
        fmt.Printf("『%s』\n", s.Find(".mdMTMTtlList02Ttl a").Text())
        fmt.Printf("VIEWS(%s)\n", s.Find(".mdSocialCountList01Num").Text())
        href, _ := s.Find(".mdMTMTtlList02Thumb a").Attr("href")
        fmt.Printf("PAGE URL: %s \n", href)
        src, _ := s.Find(".mdMTMTtlList02Thumb img").Attr("src")
        fmt.Printf("IMAGE URL: %s \n", src)
        fmt.Println()
    })
}

これを実行するとこんな結果が得られる。

便利。

『おっぱい党党首!歩く変態声優「神谷浩史」の生き様』
VIEWS(305665659)
PAGE URL: http://matome.naver.jp/odai/2137995406385933801 
IMAGE URL: http://rr.img.naver.jp:80/mig?src=http%3A%2F%2Fimgcc.naver.jp%2Fkaze%2Fmission%2FUSER%2F20140211%2F12%2F1401602%2F54%2F300x300x56c1df28404d42bcdd64d558.jpg%2F120%2F120&twidth=60&theight=60&qlt=80&res_format=jpg&op=sc 

『おっぱいの説明書』
VIEWS(4941431028)
PAGE URL: http://matome.naver.jp/odai/2134327341188695101 
IMAGE URL: http://rr.img.naver.jp:80/mig?src=http%3A%2F%2Fimgcc.naver.jp%2Fkaze%2Fmission%2FUSER%2F20140210%2F17%2F1166657%2F2%2F300x300xe1d78d110ac4ec5c4a2b8d9a.jpg%2F120%2F120&twidth=60&theight=60&qlt=80&res_format=jpg&op=sc 

『【美乳を目指す】一年間でBからEカップに!筆者が試したバストアップの方法』
VIEWS(224156988)
PAGE URL: http://matome.naver.jp/odai/2137840423396125501 
IMAGE URL: http://rr.img.naver.jp:80/mig?src=http%3A%2F%2Fimgcc.naver.jp%2Fkaze%2Fmission%2FUSER%2F20140211%2F21%2F2941271%2F1%2F300x198x68e6cb210e94ff8d9e229d70.jpg%2F120%2F120&twidth=60&theight=60&qlt=80&res_format=jpg&op=sc 

『乳首とビキニラインの黒ずみにはヨーグルト&ホエーが効く!!』
VIEWS(195692)
PAGE URL: http://matome.naver.jp/odai/2140487707710158501 
IMAGE URL: http://rr.img.naver.jp:80/mig?src=http%3A%2F%2Fkaw.stb.s-msn.com%2Fi%2F90%2F40F161F5A9EE9D5721F912D6EB4A_h438_w329_m2_q80_cfdEOrWNQ.jpg&twidth=60&theight=60&qlt=80&res_format=jpg&op=sc 

『少女時代ジェシカのセクシー画像集 (소녀시대 제시카의 가슴♪)』
VIEWS(15124664)
PAGE URL: http://matome.naver.jp/odai/2137489271640699801 
IMAGE URL: http://rr.img.naver.jp:80/mig?src=http%3A%2F%2Fimgcc.naver.jp%2Fkaze%2Fmission%2FUSER%2F20130727%2F15%2F1486665%2F2%2F223x223x08a83a4b7293d1a51221bfce.jpg%2F120%2F120&twidth=60&theight=60&qlt=80&res_format=jpg&op=sc 

『実は【おっぱい】が大きい有名人 91人』
VIEWS(962850462)
PAGE URL: http://matome.naver.jp/odai/2138314089511622601 
IMAGE URL: http://rr.img.naver.jp:80/mig?src=http%3A%2F%2Fimgcc.naver.jp%2Fkaze%2Fmission%2FUSER%2F20140211%2F29%2F2313489%2F29%2F300x209xa2717cc92946853964e5ddc8.jpg%2F120%2F120&twidth=60&theight=60&qlt=80&res_format=jpg&op=sc 

『ふるふるのおっぱい 鈴木ちなみの画像集(80枚ぐらい)(´∀`)』
VIEWS(2732256891)
PAGE URL: http://matome.naver.jp/odai/2138867813177165001 
IMAGE URL: http://rr.img.naver.jp:80/mig?src=http%3A%2F%2Fimgcc.naver.jp%2Fkaze%2Fmission%2FUSER%2F20140103%2F38%2F3931178%2F171%2F697x697x25d3f13866945a1bc0363b7d.jpg%2F120%2F120&twidth=60&theight=60&qlt=80&res_format=jpg&op=sc 

『あなたの胸が大きくなる!効果のあるバストアップ方法』
VIEWS(562145136)
PAGE URL: http://matome.naver.jp/odai/2134080904126670901 
IMAGE URL: http://rr.img.naver.jp:80/mig?src=http%3A%2F%2Fimgcc.naver.jp%2Fkaze%2Fmission%2FUSER%2F20140210%2F18%2F1099058%2F4%2F300x300x1f328b23d94ddb1f2e666a97.jpg%2F120%2F120&twidth=60&theight=60&qlt=80&res_format=jpg&op=sc 

『【これが正解!】女性のバストの褒め方』
VIEWS(21122326)
PAGE URL: http://matome.naver.jp/odai/2135053114117812801 
IMAGE URL: http://rr.img.naver.jp:80/mig?src=http%3A%2F%2Fimgcc.naver.jp%2Fkaze%2Fmission%2FUSER%2F20140211%2F19%2F1345039%2F24%2F100x140xaf899e540317876078829796.jpg%2F120%2F120&twidth=60&theight=60&qlt=80&res_format=jpg&op=sc 

『篠崎愛の私服・着衣画像まとめ』
VIEWS(16163180)
PAGE URL: http://matome.naver.jp/odai/2138717915815842101 
IMAGE URL: http://rr.img.naver.jp:80/mig?src=http%3A%2F%2Fimgcc.naver.jp%2Fkaze%2Fmission%2FUSER%2F20131216%2F20%2F2682220%2F209%2F315x315x84aa6dfa9b899b16974e6519.jpg%2F120%2F120&twidth=60&theight=60&qlt=80&res_format=jpg&op=sc 

[参考] - Go言語で jQuery ライクな操作が出来る goquery を試した。 - PuerkitoBio/goquery