Hatena::Grouprubyist

今日も元気にrubyist

2008-12-16

[]2009年Apple StoreLucky Bag(福袋)の入荷有無を判定するスクリプト 22:52 2009年Apple StoreのLucky Bag(福袋)の入荷有無を判定するスクリプト - 今日も元気にrubyist を含むブックマーク はてなブックマーク - 2009年Apple StoreのLucky Bag(福袋)の入荷有無を判定するスクリプト - 今日も元気にrubyist 2009年Apple StoreのLucky Bag(福袋)の入荷有無を判定するスクリプト - 今日も元気にrubyist のブックマークコメント

require 'mechanize'
require 'kconv'

url = 'http://store.apple.com/jp/browse/home/specialdeals/luckybag'

agent = WWW::Mechanize.new
page = agent.get(url)

while /在庫切れ/ =~ page.body.tosjis
  puts Time.now.to_s + " 在庫切れです"
  sleep 60
  agent = WWW::Mechanize.new
  page = agent.get(url)
end

puts "入荷しました!"

exit

ちなみにこのスクリプトには致命的な欠陥があり、このままコピペしても正しく判定がされないようになっている。どこが間違いかは親切なブックマーカーが指摘してくれるかもしれない。

プログラミング初心者のid:takerunba氏もボットを作ったらしいが、ちょっとプログラムの知識があればPCの前に張り付いてブラウザの更新ボタン連打せずともAppleの福袋を買えたりするわけだ。元々のIT知識レベルにもよるが、はてな記法を使ってはてダをかけるくらい(世間から見ると)レベルが高い人となら、こんなプログラムは小説1冊読み終わるくらいの時間で書けると思う。

名称未設定名称未設定2008/12/19 12:15何処がどう駄目なのか解りません><
教えて下さい><

teracoteraco2008/12/19 12:29× while /在庫切れ/ =~ page.body.tosjis
○ while /<span class="customer_commit_display">在庫切れ<\/span>/ =~ page.body.tosjis

です。Apple福袋のページには在庫表示の箇所以外に「在庫切れ」という文字列が常に含まれているので、修正前のスクリプトではいつまでたっても「在庫切れ」判定となります。

ちなみにApple福袋は購入可能になってから30秒~40秒で即在庫切れらしいので、このスクリプトを動かしてメールでアラートを投げたとしても間に合わないかもしれません。そういう意味では、在庫復活する時間帯を予測して(ランダムではないらしい)その間F5連打するのが確実かもしれません。スクリプトで検知して見に行ったら売れきれは切ないので。

名称未設定名称未設定2008/12/19 12:55返信有り難うです
やっぱり其処が違ってたんですね
「tosjis」が怪しいと思って(ストアのソースに無かったので)外したり
「>在庫切れ<」って入れてみたり色々やってました

> 30秒~40秒で即在庫切れ
かなり厳しい戦いですね
在庫が有った時にパッと音を出せないのかな?と思って検索を掛けたらhttp://www12.atwiki.jp/0141029/pages/304.html内に
print "\x07"
と言うのが有りました
原理は解りませんが試してみたら見事に音が鳴ったので私はこれでやってみようと思います
1日中PCに張り付いて居なければいけないのが難点ですが(笑)

名称未設定名称未設定2008/12/20 00:2035分のは検出出来ませんでしたね。。。
残念です。。。が、カートに入れるボタンの見えるページが載っていたのは収穫です
ボタンの見えるページを基に構文とキーワードを換えてみました
どうでしょうか?採点お願いします><

until /1月2日にお届け/ =~ page.body.tosjis
puts Time.now.to_s + " 在庫切れです"
sleep 60
agent = WWW::Mechanize.new
page = agent.get(url)
end

teracoteraco2008/12/20 11:23おお、「1月2日にお届け」って文字列なんですね。いいんじゃないでしょうか。
ちなみに僕はこのスクリプトを作って満足しただけで、実際に福袋争奪戦には参加してません。。。Apple製品もiPodも持ってないので…。

名称未設定名称未設定2008/12/20 21:01今日の分は見事に反応無しで終わってしまいました。。。ガッカリ
別の方法を考えなければ買えそうに無いですね
プログラムを組むのは難しいです