一下代码是用ruby写的用于监控苹果ip6的可预约状态...
在ruby1.8.7下完美运行...,
只要修改要监控的苹果商店和在sn中选择要监控的型号。。
在最下面设置最后的触发动作就ok了。 在代码中已有注释..
#!/usr/bin/ruby$KCODE='utf8'require'open-uri'require'json'require'pp'require'yaml'require'time'ftime=Time.now.strftime('%F_%H-%M-%S')time=Time.now.strftime('%F%X')uri='https://reserve.cdn-/JP/ja_JP/reserve/iPhone/availability.json'availability=open(uri){|http|JSON.parsehttp.read}if!availability.empty?uri='https://reserve.cdn-/JP/ja_JP/reserve/iPhone/stores.json'stores=open(uri){|http|JSON.parsehttp.read}sn={'MG4A2J/A'=>'iPGray128G',#'MG4C2J/A'=>'iPSilver128G',#'MG4E2J/A'=>'iPGold128G',#'MG4F2J/A'=>'iPGray64G',#'MG4H2J/A'=>'iPSilver64G','MG4J2J/A'=>'iPGold64G',#'MGAC2J/A'=>'iP+Gray128G','MGAE2J/A'=>'iP+Silver128G',#'MGAF2J/A'=>'iP+Gold128G',#'MGAH2J/A'=>'iP+Gray64G','MGAJ2J/A'=>'iP+Silver64G','MGAK2J/A'=>'iP+Gold64G',}stores['stores'].eachdo|ss|ifss['storeName']=~/这里填要监控的苹果商店在上面的stores中查看/data={'storeName'=>ss['storeName'],'storeEnabled'=>ss['storeEnabled'],'availability'=>{}}sn.eachdo|k,v|ifavailability[ss['storeNumber']].include?(k)ifavailability[ss['storeNumber']][k]data['availability']["#{v}"]='yes'elsedata['availability']["#{v}"]='no'endendendif!File.exists?("last"+"_"+ss['storeNumber'])File.open("last"+"_"+ss['storeNumber'],'w'){|f|f.puts(data.to_yaml)}File.open(ftime+"_"+ss['storeNumber'],'w'){|f|f.puts(data.to_yaml)}endfdata=YAML.load_file("last"+"_"+ss['storeNumber'])ifdata==fdataputs"#{time}#{ss['storeName']}\t#{ss['storeNumber']}\t无变化"elseputs"#{time}#{ss['storeName']}\t#{ss['storeNumber']}\t发生变化"File.open("last"+"_"+ss['storeNumber'],'w'){|f|f.puts(data.to_yaml)}data['availability'].eachdo|k,v|iffdata['availability'][k]!=vputs"#{time}#{ss['storeName']}\t#{k}status:#{v}"#在这里可以增加发邮件或短信的动作..endendFile.open(ftime+"_"+ss['storeNumber'],'w'){|f|f.puts(data.to_yaml)}endendendputs"----------------------------------------------"elseputs"全部货源抓取为空"end
如果觉得《iphone日版官网货源监控状态脚本》对你有帮助,请点赞、收藏,并留下你的观点哦!