社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

Python开发者 • 4 年前 • 2511 次点击  

(给Python开发者加星标,提升Python技能

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

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

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

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

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

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

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

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

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

main.py 代码

import sys
from jd_spider_requests import JdSeckill


if __name__ == '__main__':
    a = """
       oooo oooooooooo.            .oooooo..o                     oooo         o8o  oooo  oooo  
       `888 `888'   `Y8b          d8P'    `Y8                     `888         `"'  `888  `888  
        888  888      888         Y88bo.       .ooooo.   .ooooo.   888  oooo  oooo   888   888  
        888  888      888          `"Y8888o.  d88' `88b d88' `"Y8  888 .8P'   `888   888   888  
        888  888      888 8888888      `"Y88b 888ooo888 888        888888.     888   888   888  
        888  888     d88'         oo     .d8P 888    .o 888   .o8  888 `88b.   888   888   888  
    .o. 88P o888bood8P'           8""88888P'  `Y8bod8P' `Y8bod8P' o888o o888o o888o o888o o888o 
    `Y888P                                                                                                                                                  
                                               
功能列表:                                                                                
 1.预约商品
 2.秒杀抢购商品
    """

    print(a)

    jd_seckill = JdSeckill()
    choice_function = input('请选择:')
    if choice_function == '1':
        jd_seckill.reserve()
    elif choice_function == '2':
        jd_seckill.seckill_by_proc_pool()
    else:
        print('没有此功能')
        sys.exit(1)

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

某猫抢茅台脚本

虽然jd_seckill被作者删了,今天 GitHub 热榜上又来了一个抢茅台的。

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

小提示:该项目最后修改时间是 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、用 Python 实现谷歌的小恐龙游戏

2、记住看小电影前一定要检查网址是不是 HTTPS 的,不然…

3、除了后空翻和跑酷,Atlas 机器人又学会跳舞了。马斯克看完都惊叹


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

推荐关注「Python开发者」,提升Python技能

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/105700
 
2511 次点击  
文章 [ 1 ]  |  最新文章 4 年前