ぐるっとぐりっど

日曜プログラマがいろいろ試してみたことを、後の自分のためにまとめておく場所

カップラーメンの新発売情報をいつでもチェックできるようにした(by golang)

好きなカップラーメンは、ぶぶか油そばです。こんにちは。

カップラーメンって日々あたらしい商品が出てて、コンビニのカップラーメンコーナーをみて、新商品をチェックしているのですが、昔流行ったスクレイピングすりゃいいんじゃね? という考えに至りました。あとチェックするのは好きですが、食べるのは健康のために控えてます。

そんなわけで、使い慣れようと思っているgolangでちゃちゃっと作ってみました。

http://www.grugrut.net/tools/ramen.html

利用技術

golangスクレイピングするのには、goqueryを使ってます。CSSセレクタライクな構文でさくっととってこれるので手軽でした。

https://github.com/PuerkitoBio/goquery

ページの作成には、標準のhtml/templateを使ってます。普段templateはHttpResponseWriterにくわせるぐらいしかしていなかったのですが、まあ普通にFileWriterにくわせればファイル作成もできるだろうとやってみると、当然のようにできました。bootstrap使うとデザインセンスが皆無でもそれなりのものができて便利。

	file, err := os.Create("ramen.html")
	if err != nil {
		log.Fatalln(err)
	}

	tmpl := template.Must(template.ParseFiles("tmpl.html"))
	tmpl.Execute(file, recordList)

まあページこだわってないとはいえ、もうちょっとデザインは考えたいのと、コンビニの商品とかスナック菓子とか、チェックしたいものはたくさんあるので、汎用化をさせて作りやすくしたいものです。