Java实现淘宝秒杀聚划算抢购自动提醒源码

2025-05-29 0 97

说明

本实例能够监控聚划算的抢购按钮,在聚划算整点聚的时间到达时自动弹开页面(URL自己定义)。

可以自定义监控持续分钟数,同时还可以通过多线程加快刷新速度。

源码

  1. packagecom.itechzero.pricemonitor;
  2. importjava.io.BufferedInputStream;
  3. importjava.io.BufferedReader;
  4. importjava.io.InputStream;
  5. importjava.io.InputStreamReader;
  6. importjava.io.OutputStreamWriter;
  7. importjava.net.URI;
  8. importjava.net.URL;
  9. importjava.net.URLConnection;
  10. importjava.text.SimpleDateFormat;
  11. importjava.util.Date;
  12. /**
  13. *PriceMonitor.java
  14. *
  15. *@authorTechzero
  16. *@Emailtechzero@163.com
  17. *@Time2014-5-21下午1:24:30
  18. */
  19. classMyThreadextendsThread{
  20. publicvoidrun(){
  21. try{
  22. //此处参数为监控持续分钟数
  23. PriceMonitor.monitorButton(10);
  24. }catch(Exceptione){
  25. e.printStackTrace();
  26. }
  27. }
  28. };
  29. publicclassPriceMonitor{
  30. //监控的商品URL
  31. privatestaticStringURL="http://detail.ju.taobao.com/home.htm?spm=608.2214381.3.1.AdPEjn&item_id=38260927591&id=10000002781939";
  32. //监视按钮
  33. publicstaticvoidmonitorButton(intlastMinute){
  34. intnowMinute=Integer.parseInt(newSimpleDateFormat("mm").format(newDate()));
  35. intendMinute=Integer.parseInt(newSimpleDateFormat("mm").format(newDate()))+lastMinute;
  36. while(nowMinute<endMinute){
  37. nowMinute=Integer.parseInt(newSimpleDateFormat("mm").format(newDate()));
  38. Stringresult[]=getCurrentButtonAndForm(URL,"gb2312").split(",");
  39. //当前按钮状态
  40. StringcurrentButton=result[0];
  41. //马上抢表单
  42. //Stringform=result[1];
  43. StringnowTime=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(newDate());
  44. System.out.println(nowTime+"-现在按钮是"+currentButton);
  45. if(currentButton=="马上抢"||currentButton.equals("马上抢")||currentButton=="还有机会"||currentButton.equals("还有机会")){
  46. System.out.println("赶紧下单!");
  47. try{
  48. java.awt.Desktop.getDesktop().browse(newURI(URL));
  49. }catch(Exceptione){
  50. e.printStackTrace();
  51. }
  52. //doPost(form);
  53. break;
  54. }elseif(currentButton=="卖光了"||currentButton.equals("卖光了")||currentButton.equals("已结束")||currentButton.equals("已结束")){
  55. System.out.println("下次再试吧!");
  56. break;
  57. }else{
  58. System.out.println("还没开始呢,再等等吧!");
  59. }
  60. }
  61. }
  62. //获取当前按钮状态
  63. publicstaticStringgetCurrentButtonAndForm(Stringurl,Stringencoding){
  64. if(url==null||"".equals(url.trim()))
  65. returnnull;
  66. StringbuttonState="";
  67. StringBuffercontent=newStringBuffer();
  68. booleanformFlag=false;
  69. try{
  70. //新建URL对象
  71. URLu=newURL(url);
  72. InputStreamis=newBufferedInputStream(u.openStream());
  73. InputStreamReadertheHTML=newInputStreamReader(is,encoding!=null?encoding:"gb2312");
  74. BufferedReaderbr=newBufferedReader(theHTML);
  75. Strings="";
  76. while((s=br.readLine())!=null){
  77. if(s.indexOf("<inputtype="submit"class="buyactionJ_BuySubmit"title="马上抢"value="马上抢"/>")!=-1){
  78. buttonState="马上抢";
  79. }elseif(s.indexOf("<ahref="#"class="extranoticeJ_BuyButtonSub">开团提醒</a>")!=-1){
  80. buttonState="开团提醒";
  81. }elseif(s.indexOf("<divclass="main-boxchance">")!=-1){
  82. buttonState="还有机会";
  83. }elseif(s.indexOf("<spanclass="outfloatright">卖光了…</span>")!=-1){
  84. buttonState="卖光了";
  85. }elseif(s.indexOf("<spanclass="outfloatright">已结束…</span>")!=-1){
  86. buttonState="已结束";
  87. }
  88. if(s.indexOf("<formclass="J_BuySubForm"data-ccb="0"data-ques="0"action")!=-1){
  89. content.append(s+"");
  90. formFlag=true;
  91. }
  92. if(formFlag==true){
  93. if(s.indexOf("<inputname='_tb_token_'type='hidden'value")!=-1){
  94. content.append(s+"");
  95. }
  96. if(s.indexOf("<inputtype="hidden"name="_input_charset"value")!=-1){
  97. content.append(s+"");
  98. }
  99. if(s.indexOf("<inputtype="hidden"name="itemId"value")!=-1){
  100. content.append(s+"");
  101. }
  102. if(s.indexOf("<inputtype="hidden"name="id"value")!=-1){
  103. content.append(s+"");
  104. }
  105. if(s.indexOf("<inputtype="hidden"name="tgType"value")!=-1){
  106. content.append(s+"");
  107. }
  108. if(s.indexOf("<inputtype="submit"class="buyactionJ_BuySubmit"")!=-1){
  109. content.append(s+"");
  110. }
  111. if(s.indexOf("</form>")!=-1){
  112. content.append(s+"");
  113. }
  114. }
  115. if(s.indexOf("<divclass="time-banner">")!=-1){
  116. break;
  117. }
  118. }
  119. br.close();
  120. }catch(Exceptione){
  121. System.err.println(e);
  122. return"OpenURLError";
  123. }
  124. returnbuttonState+","+content;
  125. }
  126. //提交表单
  127. publicstaticStringdoPost(Stringform){
  128. StringBuffercontent=newStringBuffer();
  129. try{
  130. URLConnectionconnection=newURL(URL).openConnection();
  131. connection.setDoOutput(true);
  132. OutputStreamWriteros=newOutputStreamWriter(connection.getOutputStream(),"UTF-8");
  133. os.write(form);
  134. os.flush();
  135. os.close();
  136. InputStreamis=connection.getInputStream();
  137. InputStreamReadertheHTML=newInputStreamReader(is);
  138. BufferedReaderbr=newBufferedReader(theHTML);
  139. Strings="";
  140. while((s=br.readLine())!=null){
  141. content.append(s+"");
  142. }
  143. }catch(Exceptione){
  144. e.printStackTrace();
  145. }
  146. //返回提交表单后返回的页面内容
  147. returncontent.toString();
  148. }
  149. //登录
  150. publicstaticvoiddoLogin(Stringusername,Stringpassword){
  151. Stringform="<formid="J_StaticForm"action="https://login.taobao.com/member/login.jhtml"method="post"autocomplete="on"><inputtype="text"name="TPL_username"id="TPL_username_1"value=""+username+""><inputtype="password"name="TPL_password"id="TPL_password_1"value=""+password+""><inputtype="hidden"id="J_TPL_redirect_url"name="TPL_redirect_url"value="http://www.taobao.com/?spm=a2107.1.1000340.1.AL2Mpn"><buttontype="submit"id="J_SubmitStatic">登 录</button></form>";
  152. doPost(form);
  153. }
  154. publicstaticvoidmain(String[]args){
  155. //doLogin();
  156. //newMyThread().start();
  157. //newMyThread().start();
  158. //newMyThread().start();
  159. //newMyThread().start();
  160. //newMyThread().start();
  161. //newMyThread().start();
  162. //newMyThread().start();
  163. newMyThread().start();
  164. }
  165. }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:http://blog.csdn.net/Techzero/article/details/26686283

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Java实现淘宝秒杀聚划算抢购自动提醒源码 https://www.kuaiidc.com/112640.html

相关文章

发表评论
暂无评论