それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

WEBページの更新チェッカー

明日はいよいよ、iphone 5の発売日です。みなさん予約できましたか?私はヨドバシカメラで予約しました

ヨドバシカメラはWEBで予約状況を通知しますって

ヨドバシカメラは個別に電話くれないんですよ。WEBで販売日を告知するから、定期的に見て下さいってこと。
WEBで告知するのでページを定期的に更新するらしい。なにそれ面倒くさい!絶対忘れる!

更新チェッカーの出番だ!☆

予約が終わって速攻で書いた。

早速更新チェッカー作ったった

ページが更新されたタイミングで通知するようにした。

require 'rubygems'
require "stringio"

require "digest/md5"
require "open-uri"
#url = "http://www.yodobashi.com/ec/support/news/1213384736970/index.html"
url = "http://www.yodobashi.com/ec/support/news/1213384836340/index.html"

hash = nil
loop{
  sleep 1
  now = Digest::MD5.hexdigest(open(url).read)
  puts now
  $stdout.flush
  hash = now if hash == nil
  if now == hash then
    next
  end
  hash = now
  notify(url) #notify 関数でメール送信してます。

}

無事明日買えそうです。

僕は、C組なので、明日無事買えそうです。

更新チェッカー大活躍ですね。

更新チェッカーの動作はとても簡単。

・今のページを取得する
・ダイジェストを求める。(またはサイズ)
・変化してたら通知。
・変化なければ、次のループへ


これくらい、10分で書け!って言われないとヤル気でないよね!!