Open2

Collyを使ってみる

lsadsfjlsadsfj

サンプルを理解する。
読み方がやや特殊。
ページアクセスとページ解析がハンドラによって分離されている。

// 訪れたページから再帰的にaタグのリンクを辿る
func main() {
    // インスタンスの作成
	c := colly.NewCollector()

    // HTML解析時に実行されるイベントハンドラ
	c.OnHTML("a[href]", func(e *colly.HTMLElement) {
        // href属性の値を取り出しリクエスト
		e.Request.Visit(e.Attr("href"))
	})

    // リクエスト時に実行されるイベントハンドラ
	c.OnRequest(func(r *colly.Request) {
        // リクエスト先のURLを書き出す
		fmt.Println("Visiting", r.URL)
	})

    // ページにアクセスする処理
	c.Visit("http://go-colly.org/")
}
lsadsfjlsadsfj

サイト中のimgタグのsrc属性値を出力する。
document.querySelectorAll("img");みたいなもん

	c.OnHTML("img", func(e *colly.HTMLElement) {
		fmt.Println(e.Attr("src"))
	})