文章有点长请耐心看完
方法一
首先来说说京东的吧。
画个简单的流程图:
在流程图中,充分展示了为什么有的人会返回null,有的人会是90008,有的是90016。当然,这是我的猜测,具体情况如何,还得问京东的开发人员。
虽然这样的抢购挺不公平的。但是对于京东来说,或者说对于服务器压力,还是其他资本原因来说,都是一个很不错的选择。
为啥这么说。
首先说一下压力的原因。大家应该知道,当并发越大,对于服务器,对于技术人员的挑战来说,那是更大的。服务器的成本也会越高。
而京东很聪明,返回null,和返回90008,这里会筛选掉很多的并发请求。从而可以释放出多余的服务器压力来处理正常的业务。
而且,我觉得对于现在这个剧增的一个预约和并发,京东服务器能支撑的一个原因,也是因为过滤了很多请求。为什么,因为很多人明显感觉返回null的情况非常多非常多。很有可能是因为服务器无法撑起如此大的并发,直接在前端服务器进行丢弃了一些请求。或者说,没有任何运算,直接判断小白信用分,或者搞一个随机数,直接在后端返回,也是有可能的哈。
另外说说返回90016的情况。可能有些朋友不理解锁,我在这里就不长篇大论了。就简单的说一下。
可以理解抢购是要进一个门,而这个门内有两瓶茅台,现在好了。门上挂着一个锁,而锁有一个钥匙,有且仅有一个钥匙。本来有100个大汉的,虽然门卫赶走了90个大汉,但是还有10个大汉同时来到了门前,这个时候怎么办,那还能怎么办,谁的手先拿到钥匙,那么谁就拥有了进入门内的资格。
所以呢,另外9个大汉,只能拿着90016的数字进行一个返回。而那一个大汉,恭喜,拿着钥匙进入了大门,扛走了茅台。
至于资本原因。
你用我的京东,你的小白信用分高,那么我给你点特权,看着很合理嘛。
至于刚开Plus会员的朋友,小白信用分不会高到哪去。所以基本上属于给京东送钱系列。
京东就想着你开会员,然后后续进行一些消费,努力提高自己的小白信用分。
至于这个点子有没有用,我就不继续说下去了。懂的都懂。
天猫的风控非常牛批,这个我是认的。
无论你是用爬虫脚本还是其他的驱动脚本。大概率都会被天猫给识别出来。
后面我想了种方式,就是自己打开浏览器,然后利用屏幕像素,以及元素定位进行点击屏幕坐标。这种方式确实可行。但是其实不比手点快多少。而且测量麻烦。就暂时没去弄了。
好了,来看看天猫的流程图,这个其实简单很多。
那么,这里的抢购方式,明显比京东简单了很多,而且厚道了很多,但是原理上,在这里我没写锁的方式。而是通过令牌的方式。
当然了,锁也好,令牌也罢,都只是其中的一种实现方式,具体采用哪种,还是只有开发的员工知道了,不扯远了。继续看图。
那么这个令牌,怎么说呢,想必学过编程的朋友,心理已经有了数。库存固定,那很好办嘛。准备一个桶,把100瓶茅台放进去(假设是100瓶),那么人来了,怎么给了。
那就更简单了嘛,来一个人,那个人就取一瓶,取完就走。然后有人问,同时有几个人伸手拿茅台怎么办,这个嘛,我们准备一个通道,通道旁边放一个桶,茅台在桶里。
那么就不会出现同时来两个人或者多个人伸手到桶里拿茅台的情况了。要说这通道是啥,就说一个就行了,用Redis可以轻轻松松的实现了。另外,加锁也行的嘛。一次只让拿到锁的手伸进桶去。
当然,具体的实现我是不知道的,我是从表面分析的哈。
天猫没有京东的小白信用分卡点,也没有一些其他概率性null的情况。天猫的朋友都在一个起跑线上,比拼网速,比拼手速。这就是我认为为什么天猫要公平一些。
因为天猫是先到先得。而不是类似京东,你先到了,我看看你的信用分,什么,信用分80,辣鸡,给你返回90008/null,下一个。
本教程完成针对小白,大佬请绕道!! 本教程完成针对小白,大佬请绕道!! 本教程完成针对小白,大佬请绕道!!
重要的事情说三遍!
小白福音!!这两天问茅台脚本使用方法的人很多!!本人没有精力有限,所以弄了一个抢购软件!!
不需要安装Python,不需要配置环境,就和你在电脑上安装使用QQ等软件一样
是 .exe 文件,点击 main.exe 就能运行
但是有个前提是需要更改 eid, fp 这两个参数
这两个参数在 config.ini 文件中
获取这两个参数的方法在第 4 步!!
你用软件抢购只看前面和第 4 步就可以了~~~
--------------------------------分割线------------------------------------------------------------ 下面是安装Python, 配置开发环境抢购的教程,用软件的不用看!!! 下面是安装Python, 配置开发环境抢购的教程,用软件的不用看!!! 下面是安装Python, 配置开发环境抢购的教程,用软件的不用看!!!
因为问的人太多了,一方面,有时候没空回复,回复不及时,导致错过抢购..
另外大多数人问的都是同一类问题,我每次都要重复再重复回复同一个答案
譬如:如何怎么用,如何运行脚本,要改什么,在哪改等等...
既然是小白教程,那我们就从安装Python开始,本文以windows 为例,其他系统同理
下载地址:www.python.org/downloads/ 选择适合自己系统的Python,最好是安装下载 3.8版本以上 Python,免得出现问题
下载完之后就和你安装其他电脑软件一样,没难度的。记得选择加入环境变量
我这图片是3.5版本,可以忽略, 只是一张图片,用来给你参考
cmd 中输入Python 验证是否安装成功
如果你会玩 cmd 可以直接跳过这一步!
你在 cmd 中也能运行项目。前提是进入到项目目录。
然后输入 python main.py
我已经记不清有多少个人拿着下面这个图来问我了。。。
要学会看报错原因!!别一出问题就问!学会自己思考很重要
这就是因为没进入到项目目录执行,电脑知道你这文件在哪吗??
但是由于要改项目参数,有些小白会把格式改错,所以最好还是下载IDE,对新手学习Python能避免很多坑!
如果嫌麻烦,后面的IDE下载安装配置可以不弄,直接看第3个步骤!
--------------------------------分割线------------------------------------------------------------
Python有许多的IDE,比如 vscode,pycharm等
笔者主要用 pycharm,下载安装。公众号后台ide获取安装包
无脑下一步,等待自动安装
选择 open 你下载的的茅台项目
然后点击左上角 File->Setting,选择你刚才安装的 Python
点下拉,show all
选择第一步安装好的 Python
选择 apply->ok
点击 Termianl 进入控制台
输入命令:pip install -r requirements.txt -i pypi.douban.com/simple/
cmd 中同理。需要进入到项目目录!!!我的项目在F盘,所以先进入F盘,命令, F:
也是输入这个命令安装
运行之后没问题,就 ok 了!
eid, fp参数必须填写 这两个参数在下单页面获取(不用下单) 电脑网页端登录你的京东,随便选个商品进入下单页面
按下F12打开浏览器调试窗口,然后点击选择Console,在控制台中输入变量_JdTdudfp
,即可从输出的Json中获取eid
和fp
。如上图
复制下来这两个参数,填入即可
茅台抢购有几个前提!
项目中有个 README 的项目说明。建议花几分钟时间看看
在pycharm 中,选择main.py ,右键选择run
1是预约,2是抢购!
需要先预约,预约完之后停止运行。
再运行脚本,输入2,它就能根据你设定的时间,到达时间自动抢购!
不能关闭软件啊!关闭软件不会抢了!
最后祝大家都能抢到茅台!!!
抢到了就是上面这样!记得去app 上支付付款!!
也不知道这篇文章我有没有说清楚一些抢购的点,包括这个京东和天猫的大致流程。对于不懂技术的朋友来说,如果你们都能通过我的注释和图解看懂这个流程图了,那么说明我这篇文章是还可以的。
最近10几天,因为脚本,我有很多地方改变了很多。以前我总想着,技术这东西,越深奥越牛批。
但现在,我不这么想,我想的是,懂技术的人终究都是少数,大多数的朋友都是不懂技术。
既然你是分享,你是写文章的,为什么不去考虑这绝大多数的人。我想我现在想明白了,以后的教程文章,我会尽量写的通俗易懂一些。为什么我不用一些例子随着一些技术名词一块讲解呢。