免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 12101 | 回复: 8

[游戏娱乐] 给大家出个题,17号会用处 - 自动检测iphone 6手机在某个实体店的库存状态 [复制链接]

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
发表于 2014-10-04 19:06 |显示全部楼层
本帖最后由 rdcwayx 于 2014-10-04 19:28 编辑

本月17日,iphone6,iphone6+就要在中国上市。会比较热门,很多人都会去抢的。这里我给大家出个题,用shell脚本实现自动的提醒功能。

因为中国网站还没这个URL(可能要17号以后才会有效),没法直接测试 。我们就用下面任意一个URL做测试。

https://reserve.cdn-apple.com/CA ... e/availability.json
https://reserve.cdn-apple.com/GB ... e/availability.json
https://reserve.cdn-apple.com/AU ... e/availability.json

访问后,你会得到
  1.   "R207" : {
  2.     "MG9R2CL/A" : false,
  3.     "MG3E2CL/A" : false,
  4.     "MG3L2CL/A" : false,
  5.     "MG9M2CL/A" : false,
  6.     "MG9U2CL/A" : false,
  7.     "MG3G2CL/A" : false,
  8.     "MG3D2CL/A" : false,
  9.     "MG9P2CL/A" : false,
  10.     "MG9W2CL/A" : false,
  11.     "MG3A2CL/A" : true,
  12.     "MG9N2CL/A" : false,
  13.     "MG3C2CL/A" : false,
  14.     "MG3K2CL/A" : false,
  15.     "MG9V2CL/A" : false,
  16.     "MG3F2CL/A" : false,
  17.     "MG9T2CL/A" : false,
  18.     "MG3H2CL/A" : false,
  19.     "MG9Q2CL/A" : false
  20.   },
复制代码
你的任务就是,用wget或者curl得到上面的输出,找到“true”的型号,以及对应的实体店id,最后发出提醒邮件。上面的例子中,实体店R207 的 型号MG3A2CL/A 有货。

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
发表于 2014-10-04 19:11 |显示全部楼层
本帖最后由 rdcwayx 于 2014-10-04 19:40 编辑

这个是店名和店号的对应表
https://reserve.cdn-apple.com/CA/en_CA/reserve/iPhone/stores.json
https://reserve.cdn-apple.com/GB/en_GB/reserve/iPhone/stores.json
https://reserve.cdn-apple.com/AU/en_AU/reserve/iPhone/stores.json
  1. {
  2.     "storeNumber" : "R207",
  3.     "storeName" : "Carrefour Laval",
  4.     "storeEnabled" : true
  5.   }
复制代码
如果你有时间的话,还可以做个对应表,自动提示 R207 对应的那家实体店的名称是 Carrefour Laval,

http://www.thebookyard.com/?cPath=256_251_231_352
  1. iPhone 6 128GB Space Gray (AT&T)        MG4R2LL/A        iPhone7,2        A1549        2014-09-09
  2. iPhone 6 16GB Gold (T-Mobile)        MG562LL/A        iPhone7,2        A1549        2014-09-09
  3. iPhone 6 64GB Space Gray (T-Mobile)        MG5A2LL/A        iPhone7,2        A1549        2014-09-09
  4. iPhone 6 128GB Silver (Verizon)        MG612LL/A        iPhone7,2        A1549        2014-09-09
  5. iPhone 6 16GB Space Gray (Verizon)        MG5W2LL/A        iPhone7,2        A1549        2014-09-09
  6. iPhone 6 64GB Silver (China Mobile)                iPhone7,2        A1589       
  7. iPhone 6 128GB Gold (China Mobile)                iPhone7,2        A1589        2014-09-09
  8. iPhone 6 Plus 64GB Space Gray (UK/EU)        MGAH2B/A,        iPhone7,1        A1524        2014-09-09
  9. iPhone 6 Plus 64GB Gold (UK/EU)        MGAK2B/A        iPhone7,1        A1524        2014-09-09
  10. iPhone 6 Plus 128GB Silver (UK/EU)        MGAE2B/A        iPhone7,1        A1524        2014-09-09
  11. iPhone 6 Plus 128GB Gold (Sprint)        MGD12LL/A        iPhone7,1        A1524        2014-09-09
  12. iPhone 6 Plus 64GB Silver (Sprint)        MGD32LL/A        iPhone7,1        A1524        2014-09-09
  13. iPhone 6 128GB Silver (Sprint)        MG6E2LL/A        iPhone7,2        A1586        2014-09-09
  14. iPhone 6 16GB Space Gray (Sprint)        MG692LL/A        iPhone7,2        A1586        2014-09-09
  15. iPhone 6 64GB Silver (UK/EU)        MG4H2B/A        iPhone7,2        A1586        2014-09-09
  16. iPhone 6 128GB Gold (UK/EU)        MG4E2B/A        iPhone7,2        A1586        2014-09-09
  17. iPhone 6 16GB Silver (AT&T)        MG4P2LL/A        iPhone7,2        A1549        2014-09-09
  18. iPhone 6 64GB Gold (AT&T)        MG502LL/A        iPhone7,2        A1549        2014-09-09
  19. iPhone 6 16GB Silver (T-Mobile)        MG552LL/A        iPhone7,2        A1549        2014-09-09
  20. iPhone 6 64GB Gold (T-Mobile)        MG5D2LL/A        iPhone7,2        A1549        2014-09-09
  21. iPhone 6 128GB Space Gray (T-Mobile)        MG572LL/A        iPhone7,2        A1549        2014-09-09
  22. iPhone 6 16GB Gold (Verizon)        MG5Y2LL/A        iPhone7,2        A1549        2014-09-09
  23. iPhone 6 64GB Space Gray (Verizon)        MG5W2LL/A        iPhone7,2        A1549        2014-09-09
  24. iPhone 6 128GB Silver (China Mobile)                iPhone7,2        A1589        2014-09-09
  25. iPhone 6 16GB Space Gray (China Mobile)                iPhone7,2        A1589        2014-09-09
  26. iPhone 6 Plus 128GB Space Gray (UK/EU)        MGAC2B/A        iPhone7,1        A1524        2014-09-09
  27. iPhone 6 Plus 16GB Gold (UK/EU)        MGAA2B/A        iPhone7,1        A1524        2014-09-09
  28. iPhone 6 Plus 64GB Space Gray (Sprint)        MGD22LL/A        iPhone7,1        A1524        2014-09-09
  29. iPhone 6 Plus 64GB Gold (Sprint)        MGD42LL/A        iPhone7,1        A1524        2014-09-09
  30. iPhone 6 Plus 128GB Silver (Sprint)        MGD02LL/A        iPhone7,1        A1524        2014-09-09
  31. iPhone 6 16GB Gold (Sprint)        MG482B/A        iPhone7,2        A1586        2014-09-09
  32. iPhone 6 64GB Space Gray (Sprint)        MG6G2LL/A        iPhone7,2        A1586        2014-09-09
  33. iPhone 6 128GB Silver (UK/EU)        MG4C2B/A        iPhone7,2        A1586        2014-09-09
  34. iPhone 6 16GB Space Gray (UK/EU)        MG472B/A        iPhone7,2        A1586        2014-09-09
  35. iPhone 6 64GB Silver (AT&T)        MG4X2LL/A        iPhone7,2        A1549        2014-09-09
  36. iPhone 6 128GB Gold (AT&T)        MG4V2LL/        iPhone7,2        A1549        2014-09-09
  37. iPhone 6 64GB Silver (T-Mobile)        MG5C2LL/A        iPhone7,2        A1549        2014-09-09
  38. iPhone 6 128GB Gold (T-Mobile)        MG592LL/A        iPhone7,2        A1549        2014-09-09
  39. iPhone 6 16GB Silver (Verizon)        MG5W2LL/A        iPhone7,2        A1549        2014-09-09
  40. iPhone 6 64GB Gold (Verizon)        MG652LL/A        iPhone7,2        A1549        2014-09-09
  41. iPhone 6 128GB Space Gray (Verizon)        MG602LL/A        iPhone7,2        A1549        2014-09-09
  42. iPhone 6 16GB Gold (China Mobile)                iPhone7,2        A1589        2014-09-09
  43. iPhone 6 64GB Space Gray (China Mobile)                iPhone7,2        A1589        2014-09-09
  44. iPhone 6 Plus 16GB Space Gray (UK/EU)        MGA82B/A        iPhone7,1        A1524        2014-09-09
  45. iPhone 6 Plus 16GB Silver (UK/EU)        MGA92B/A        iPhone7,1        A1524        2014-09-09
  46. iPhone 6 Plus 128GB Space Gray (Sprint)        MGCY2LL/A        iPhone7,1        A1524        2014-09-09
  47. iPhone 6 Plus 16GB Gold (Sprint)        MGCX2LL/A        iPhone7,1        A1524        2014-09-09
  48. iPhone 6 16GB Silver (Sprint)        MG6E2LL/A        iPhone7,2        A1586        2014-09-09
  49. iPhone 6 64GB Gold (Sprint)        MG6C2LL/A        iPhone7,2        A1586        2014-09-09
  50. iPhone 6 128GB Space Gray (Sprint)        MG6D2LL/A        iPhone7,2        A1586        2014-09-09
  51. iPhone 6 16GB Gold (UK/EU)        MG492B/A        iPhone7,2        A1586        2014-09-09
  52. iPhone 6 64GB Space Gray (UK/EU)        MG4F2B/A        iPhone7,2        A1586        2014-09-09
  53. iPhone 6 128GB Silver (AT&T)        MG4U2LL/A        iPhone7,2        A1549        2014-09-09
  54. iPhone 6 16GB Space Gray (AT&T)        MG4N2LL/A        iPhone7,2        A1549        2014-09-09
  55. iPhone 6 128GB Silver (T-Mobile)        MG582LL/A        iPhone7,2        A1549        2014-09-09
  56. iPhone 6 16GB Space Gray (T-Mobile)        MG542LL/A        iPhone7,2        A1549        2014-09-09
  57. iPhone 6 64GB Silver (Verizon)        MG642LL/A        iPhone7,2        A1549        2014-09-09
  58. iPhone 6 128GB Gold (Verizon)        MG622LL/A        iPhone7,2        A1549        2014-09-09
  59. iPhone 6 16GB Silver (China Mobile)                iPhone7,2        A1589        2014-09-09
  60. iPhone 6 64GB Gold (China Mobile)                iPhone7,2        A1589        2014-09-09
  61. iPhone 6 128GB Space Gray (China Mobile)                iPhone7,2        A1589        2014-09-09
  62. iPhone 6 Plus 128GB Gold (UK/EU)        MGAF2B/A        iPhone7,1        A1524        2014-09-09
  63. iPhone 6 Plus 64GB Silver (UK/EU)        MGAJ2B/A        iPhone7,1        A1524        2014-09-09
  64. iPhone 6 Plus 16GB Space Gray (Sprint)        MGCV2LL/A        iPhone7,1        A1524        2014-09-09
  65. iPhone 6 Plus 16GB Silver (Sprint)        MGCW2LL/A        iPhone7,1        A1524        2014-09-09
  66. iPhone 6 64GB Silver (Sprint)        MG6H2LL/A        iPhone7,2        A1586        2014-09-09
  67. iPhone 6 128GB Gold (Sprint)        MG6F2LL/A        iPhone7,2        A1586        2014-09-09
  68. iPhone 6 16GB Silver (UK/EU)        MG482B/A        iPhone7,2        A1586        2014-09-09
  69. iPhone 6 64GB Gold (UK/EU)        MG4J2B/A        iPhone7,2        A1586        2014-09-09
  70. iPhone 6 128GB Space Gray (UK/EU)        MG4A2B/A        iPhone7,2        A1586        2014-09-09
  71. iPhone 6 16GB Gold (AT&T)        MG4Q2LL/A        iPhone7,2        A1549        2014-09-09
  72. iPhone 6 64GB Space Gray (AT&T)        MG4W2LL/A        iPhone7,2        A1549        2014-09-09
复制代码
以及MG3A2CL/A 对应的iphone 6/6+ 的颜色及容量(16GB/64GB/128GB)。

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
发表于 2014-10-04 21:06 |显示全部楼层
R版不会是想去扫货吧?

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
发表于 2014-10-04 21:27 |显示全部楼层
回复 3# zooyo

我已经在用了。

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
发表于 2014-10-04 22:38 |显示全部楼层
回复 4# rdcwayx

土豪,我们能做朋友吗?{:3_187:}
   

论坛徽章:
3
丑牛
日期:2014-09-13 18:19:22摩羯座
日期:2014-10-10 17:43:02水瓶座
日期:2014-10-16 01:00:22
发表于 2014-10-07 06:20 |显示全部楼层
学生党:包...夜~无聊中...
json文件处理..!嘿嘿多个json有点儿数据库多表查询的感觉~

论坛徽章:
14
15-16赛季CBA联赛之辽宁
日期:2019-06-16 15:47:3515-16赛季CBA联赛之广夏
日期:2016-08-13 21:24:352015亚冠之武里南联
日期:2015-07-07 17:37:372015亚冠之萨济拖拉机
日期:2015-07-06 17:07:482015亚冠之全北现代
日期:2015-06-04 13:54:272015亚冠之城南
日期:2015-05-21 15:43:212015年亚洲杯之伊朗
日期:2015-04-25 18:20:362015年亚洲杯之伊朗
日期:2015-04-20 16:06:052015年亚洲杯之科威特
日期:2015-03-07 12:51:26丑牛
日期:2014-12-30 10:26:38申猴
日期:2014-09-28 22:40:18金牛座
日期:2014-09-13 21:12:22
发表于 2014-10-07 12:04 |显示全部楼层
本帖最后由 reb00t 于 2014-10-07 14:37 编辑
  1. <?php
  2. function iphoneNumber($url){
  3. $file=file_get_contents($url);
  4. $arr = json_decode($file,true);
  5. $aparr=array();
  6. foreach ($arr as $k => $v) {
  7.           if(is_array($v)){
  8.                  foreach ($v as $kk => $vv) {       
  9.                    if($vv) $aparr[$k][]=$kk;
  10.              }

  11.           }
  12.    }
  13.    return $aparr;
  14. }

  15. function  stores_Number($url){
  16.   $file=file_get_contents($url);
  17.   $arr = json_decode($file,true);
  18.   $stoarr=array();
  19.    foreach ($arr as $k => $v) {          
  20.             if(is_array($v)){
  21.                             foreach ($v as $kk => $vv) {
  22.                                        if($vv['storeEnabled']){
  23.                                       $stoarr[$vv['storeNumber']]=$vv['storeName'];
  24.                                 }       
  25.                         }                    
  26.             }
  27.    }
  28.    return $stoarr;
  29. }
  30. $url1="https://reserve.cdn-apple.com/GB/en_GB/reserve/iPhone/availability.json";
  31. $url2="https://reserve.cdn-apple.com/GB/en_GB/reserve/iPhone/stores.json";
  32. $appleNum=iphoneNumber($url1);
  33. //print_r($appleNum);
  34. echo "===================================\n";
  35. $stores=stores_Number($url2);

  36. ##查找的型号
  37. $ordnum="MGA82B/A";
  38. foreach ($appleNum as $k => $v) {
  39.         if (in_array($ordnum, $v)) {
  40.        echo "恭喜你!店铺名称{$k} ".$stores[$k]." 正销售{$ordnum}型号\n";
  41.      }

  42. }






  43. ?>

  44. 结果:
  45. ===================================
  46. 恭喜你!店铺名称R545 Drake Circus 正销售MGA82B/A型号
  47. 恭喜你!店铺名称R226 White City 正销售MGA82B/A型号
  48. 恭喜你!店铺名称R227 Bentall Centre 正销售MGA82B/A型号
  49. 恭喜你!店铺名称R423 Metrocentre 正销售MGA82B/A型号

  50. .....
  51. ....
复制代码

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
发表于 2014-10-07 17:28 |显示全部楼层
不错, 再http://phptester.net/里测试通过。

我再找找手机和代号的对应表。

论坛徽章:
1
摩羯座
日期:2015-01-08 14:01:55
发表于 2014-10-09 17:55 |显示全部楼层
  1. #!/bin/bash

  2. read -p 'Please input the availability URL: ' URL1
  3. wget -q $URL1 || echo 'error URL, please check the URL.'

  4. read -p 'Please input the store URL: ' URL2
  5. wget -q $URL2 || echo 'error URL, please check the URL.'

  6. availability=$(basename $URL1)
  7. stores=$(basename $URL2)

  8. a=${availability%.*}
  9. s=${stores%.*}

  10. cat $stores | tr ',\n' ' ' | tr '{}' '\n' | sed -r '/\[\s*$/d;/^\s*\]+/d;/^\s*,\s*$/d;s/"/\t/g' | awk 'BEGIN{FS="\t";OFS=":"}{if($NF~"true"){print $4,$8}}' > $s.txt
  11. cat $availability | sed -r '/^\s*(}|"(R|M))/!d' | tr '\n' ' ' | sed -r 's/}/\n/g;s/"//g;s/^\s*,?\s*//;s/ //g' | awk -F '[{,]' '{for(i=1;i<=NF;i++){if($i~"true"){print $2$i}}}' > $a.txt

  12. awk -F ':' 'BEGIN{printf "Num:StoreName\tType\n"}NR==FNR{num[$1]=$2}NR>FNR{$3=num[$1];print $1":"$3"\t\t"$2}' $s.txt $a.txt > phone.txt

  13. rm $a.* $s.*
复制代码
粗略写一下,文件判断啥的都省略了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,8.5折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时8.5折扣期:2019年9月30日前


----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP