查看原文
其他

两天狂揽 4k+ Star,抢茅台脚本霸榜 GitHub

前端大全 2021-02-08

(给前端大全加星标,提升前端技能

声明:本文已获开源前哨授权转载

某东抢茅台脚本在 GitHub 连续霸榜

30 日,前哨君在刷 GitHub 的时候,看到热榜上有一个项目jd_seckill,是在某东上抢茅台的 Python 脚本。

这个脚本主要功能为:“自动登录某东 -> 定时自动预约茅台 -> 定时开始自动抢购。目前仅支持在某电商平台上抢购飞天茅台,暂不支持其他功能。”

前哨君听朋友说,茅台飞天酒倒一手能获利上千。不得不说,随着茅台的热热,这个抢购脚本软件的 Star 数也是一路飙升。

31 日,这个项目飙升到榜首,一天狂揽 2000 多 Star。

不过在 31 日傍晚,jd_seckill的开发者已经清空仓库了。

至于下架原因,前哨君也不清楚。

不过由于该仓库 fork 数量非常多,已经在 GitHub 上扩散开了。有其他程序员另外创建仓库了。

对完整代码感兴趣,请参见:https://github.com/ChinaVolvocars/jd_maotai_seckill

某猫抢茅台脚本

虽然针对某东平台的jd_seckill被清空了,今天 GitHub 热榜上又来了一个针对某猫的抢茅台的 JS 脚本。

目测这个 JS 项目可能又要往前冲榜了。

小提示:该项目最后修改时间是 12 个月前。

//定时器
var timer = null;

//检测状态
function checkElementState(path,callback){
 var ele = document.querySelector(path);
 if(ele){
  callback && callback();
 }else{
  console.log('异步加载元素中....' + path );
  setTimeout( function(){checkElementState(path,callback);},200);
 }
}



//点击购买按钮
function clickBuy(){
 
 console.log('买!');
 
 //票的数量  如果还不可以购买,这个地方获取会失败 
 var amount = document.getElementsByClassName('mui-amount-increase')[0];
 amount && amount.click();  //+1
 
 var btnBuy = document.querySelector('');
 
}


//结算
function checkOut(){
 
 
 console.log('结算开始....');
 var btn = document.getElementById('J_Go');
 
 if(btn){
  btn.click();
 }else{
  console.log('结算按钮没找到');
 }
 
}

function checkOutAsync(){
 checkElementState('#J_Go',checkOut);
}

//提交订单
function submitOrder(){
 
 console.log('提交订单开始....');
 
 
 
 checkElementState('.go-btn',function(){
  var btn = document.querySelector(".go-btn");
 
  if(btn){
   btn.click();
  }else{
   console.log('提交订单按钮没找到');
  }
   
 });
}



//目标时间
 var dDate = new Date();  //10点和20点开抢
 if( dDate.getHours() < 10 ){
  dDate.setHours(9,59,59.2);
 }else{
  dDate.setHours(19,59,59.2);
 }
 
 //dDate.setSeconds( dDate.getSeconds() + 10 );
 
//进入时间判断循环
function enterTimeCheckLoop(callback){
 var date = new Date();
 
 
 
 
 var diff = Date.parse(dDate) - Date.parse(date) ;
 
 console.log(diff);
 
 if(diff < - 900 ){
  
  console.log('时间过了!');
  
 }else if(diff < 500 ) {

  callback && callback();
  
  console.log('时间到了!!!');
  
 }else{
  setTimeout(function(){ enterTimeCheckLoop(callback);},400);
  
  //console.log('--');
 }
 
 
 
}


//主要函数
function main(){
 console.log('############################开始抢购茅台############################');
 
 //debugger;
 
 var href = window.location.href;
 if(href.indexOf('cart.tmall.com') > -1 ){
  //结算页面
  
  //进入时间判断
  enterTimeCheckLoop( checkOutAsync );
 
 
 }else if(href.indexOf('buy.tmall.com') > -1 ){
  //提交订单页面
  
  submitOrder();
 }
 
}

main();

完整代码,请参见仓库地址: 

https://github.com/cehui0303/Tmall_Tickets


- EOF -

推荐阅读  点击标题可跳转

1、冬天到了,女朋友想让我的网站也下雪,我立马打开电脑撸代码…

2、纯 CSS 制作赛博朋克 2077 “故障风”按钮

3、一份不可多得的 TypeScript 学习指南


觉得本文对你有帮助?请分享给更多人

推荐关注「前端大全」,提升前端技能

点赞和在看就是最大的支持❤️

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存