国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

12306 刷票腳本及穩(wěn)固刷票腳本(防掛)

2019-11-19 18:08:59
字體:
來源:轉載
供稿:網(wǎng)友

12306 刷票腳本及防掛

       一年一度的“搶票運動會”又開始了,期間12306網(wǎng)站承受的壓力越來越大,極不穩(wěn)定。隨著人們對互聯(lián)網(wǎng)越來越熟悉,導致大量刷票軟件的用戶量猛增,大量的訪問將12306快壓垮了,以至于使用12306自家的刷票助手經(jīng)常崩潰而無法繼續(xù)刷票。作為一名“資深”的程序員,我無法忍受了,所以果斷出手,寫了一段js來防掛。

       本來想簡單的解決一下刷票自動掛的問題,后來想想寫都寫了,不如再增加幾個有用的功能。

       現(xiàn)在腳本的功能有:

  1. 防止自動刷票崩潰(掛掉后自動重新刷票)
  2. 自定義查詢時間區(qū)間
  3. 自定義自動刷新時間間隔
  4. 突破5車次限制
  5. 可根據(jù)時間段、車類型刷所有滿足的車次

       廢話不多說,直接上代碼吧:

//記錄等待時間 var waittime=0;  //統(tǒng)計等待時間 function waitforRestart(){   if(!$("#autoSubmit").prop("checked"))return ;   if($("#query_ticket").text()=="停止查詢"){     waittime++;   }   if(waittime>10){     $("#query_ticket").click();     setTimeout(function(){       waittime=0;       if($("#query_ticket").text()=="查詢") {         $("#query_ticket").click();       }     },1000);   } }   //注冊回調方法 function callback(fun1,fun2){  fun1();  fun2(); }   //添加乘車人 function addBuyer(name){  callback($.showSelectBuyer,function(){   $("#buyer-list li[p_value^="+name+"]").click();   $.closeSelectBuyer();  }); }  //突破限制,添加車次 function addTrain(trainCode){  $("#prior_train").append('<span name="prior_train-span" class="sel-box w80">'+trainCode+'<a class="close" href="javascript:" onclick="$.removeSel(this,"'+trainCode+'",4)"></a></span>'); }  //添加優(yōu)先席別 function addSeat(seat){  callback($.showSelectSeat, function(){   $("#seat-list li[name^="+seat+"]").click();   $.closeSelectSeat();  }); }  //自定義查詢區(qū)間 function addTimes(startTime,endTime){   $("#cc_start_time").append('<option value="'+startTime.replace(":","")+endTime.replace(":","")+'">'+startTime+'--'+endTime+'</option>');   $("#cc_start_time option:last").selected(); }  //根據(jù)時間段、車次類型查詢所有滿足的車次。 function queryByTimeAndTrainType(){  callback($.showYxTrain, function(){   var yxTrainTimer = setInterval(function(){    if($("#filterTic").length>0){     $("#filterTic").prop("checked",true);     $("#yxtrain_close").click();      clearInterval(yxTrainTimer);    }   },10);  }); } 

       以上是提供了修改配置的方法,以下則根據(jù)需求自行配置,我們可以選定車次進行刷票,也可以根據(jù)時間段+車次類型刷該時間段內的某類車次。分開來說:

       1. 根據(jù)車次進行刷票

       具體操作:

  1. 打開12306網(wǎng)站
  2. 選定好車次方向和發(fā)車日期
  3. 篩選出要刷新的車次、乘車人、席做等,替換下面的內容

//========================================== // 以下則根據(jù)需求自行配置: //   乘車人、車次、席別 //   僅顯示要刷的車次、查詢區(qū)間、刷新時間 //==========================================  //選擇乘車人 addBuyer("張三"); addBuyer("'李四(成人)'"); addBuyer("'王五(學生)'");  //手動添加車次,按優(yōu)先順序添加(輕松突破5車次限制) addTrain("G100"); addTrain("G101"); addTrain("G102"); addTrain("G103"); addTrain("G104"); addTrain("G105"); addTrain("G106"); addTrain("G107");   //添加優(yōu)先席別,按優(yōu)先順序添加 addSeat("二等座"); addSeat("一等座");  //自動刷新時間1s autoSearchTime=1000;  //收起訂票助手 $(".up").click();  //啟動檢測防掛 var timer = setInterval(waitforRestart,autoSearchTime);  //開始刷票 if($("#query_ticket").text()=="查詢"){  var timer2 = setInterval(function(){   if($("#auto_query").prop("checked") && $("#autoSubmit").prop("checked") && $("#filterTic").prop("checked")){    $("#query_ticket").click();    clearInterval(timer2);   }  },10); } 

       將以上修改好的內容貼到瀏覽器控制臺上(F12或者Ctrl+Shift+J)按回車執(zhí)行。就可以自動開始刷票了。如果刷新請求timeout了,會由waittime記錄超時等待時間,>10時則會自動取消刷新,1秒后重新開始自動刷票。


       2. 刷新某時間段內的特定車次類型的票,如刷新09:30-12:15之間所有高鐵+動車票

       具體操作:

  • 打開12306
  • 選好車次方向和發(fā)車日期
  • 確定時間段、車次類型、席坐,然后替換下面的內容
//========================================== // 以下則根據(jù)需求自行配置: //   乘車人、車次、席別 //   僅顯示要刷的車次、查詢區(qū)間、刷新時間 //==========================================  //選擇乘車人 addBuyer("張三"); addBuyer("'李四(成人)'"); addBuyer("'王五(學生)'");  //添加優(yōu)先席別,按優(yōu)先順序添加 addSeat("二等座");  //手動設置查詢區(qū)間 addTimes("09:30","12:15");  //僅顯示高鐵+動車 $(".check[value='G']").prop("checked",true); $(".check[value='D']").prop("checked",true);  //僅顯示時間段內的車次、僅顯示有票的車次,二選一 //注意,如果選擇了該項,則勾選的車次則無效了。 queryByTimeAndTrainType();  //自動刷新時間1s autoSearchTime=1000;  //收起訂票助手 $(".up").click();  //啟動檢測防掛 var timer = setInterval(waitforRestart,autoSearchTime);  //開始刷票 if($("#query_ticket").text()=="查詢"){  var timer2 = setInterval(function(){   if($("#auto_query").prop("checked") && $("#autoSubmit").prop("checked") && $("#filterTic").prop("checked")){    alert("123");    $("#query_ticket").click();    clearInterval(timer2);   }  },10); } 

       同樣粘貼在瀏覽器控制臺按回車執(zhí)行即可。

       是不是很簡單?有人會說簡單但是繁瑣。的確步驟有點多,那我就再提供已方法讓步驟簡化一下即可。那就是把上面修改過的內容,去掉注釋行(就是//開頭的行)然后把所有的換行都去掉,把所有內容縮到一行上。然后在前面加上javascript:,最后把它存放到書簽上,使用的時候,打開12306,然后點擊一下標簽即可自動刷票了。


感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 枣庄市| 静海县| 沙坪坝区| 正蓝旗| 高密市| 丹江口市| 太白县| 吉木萨尔县| 亚东县| 西宁市| 贞丰县| 岑溪市| 通城县| 桃源县| 扎囊县| 嘉祥县| 改则县| 科尔| 镇宁| 承德市| 九江县| 淮南市| 德庆县| 云阳县| 茌平县| 耒阳市| 通山县| 苏尼特右旗| 邵武市| 晋中市| 保亭| 屏山县| 丰城市| 隆子县| 新巴尔虎右旗| 育儿| 怀仁县| 石河子市| 宁安市| 洞头县| 固安县|