用python爬虫在京东抢购茅台(严谨版)

大家好,我是菜鸟程序员黑羽,前几天我发了一个抢购茅台的文章,没想到这么多人关注,之前只是随手一些,不太严谨,今天来好好叨叨。

事情是这样的,12 月我在朋友圈看到非常多的人开始在某东上抢茅台,抢到的话一瓶只要 1499 元,转手一卖就能净赚 1000 块钱,这简直就是白送钱的事嘛?就算不卖,自己囤着过个几年价格肯定又要上涨。像这种好事,我当然第一时间去体验了,抢了几天后,却抢了个寂寞。

好在前两天看到有大佬在 Github 上开源了一个抢茅台的脚本(https://github.com/huanghyw/jd_seckill),目前已经 1.4k ,我前一天看的时候才 500 star,是真的火起来了,不得不感叹,这传播速度也太大了吧。

![https://upload-images.jianshu.io/upload_images/24716216-7e2dd48087f46fce?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

看了下代码,发现这个脚本还是用 Python 写的,我啪的一下,很快,就把运行环境给搭建起来了。

1. 环境搭建
第一步

把项目代码(https://github.com/huanghyw/jd_seckill)下载到本地并解压。(目前该项目已被原作者删除了,需要的小伙伴可以进下面这个交流群文件自取)

第二步

进入到解压后的目录中,使用 venv 创建一个虚拟环境,注意一定要使用 Python 3,创建完成后进入虚拟环境

# 创建虚拟环境$ python3 -m venv . # 进入虚拟环境$ source bin/activate
第三步:

往虚拟环境中安装依赖包

如果是 mac 或者 linux 只要执行这条命令就行

$ python -m pip install -r requirements.txt
而如果你使用 windows ,在依赖中有一个 lxml 库,这个库在 windows 中你使用 pip 是安装不上的,你得从网上下载 wheel 文件来手动安装,然后再执行上面的命令,下载链接在下面,记得选择对应 Python 的版本,由于这个页面里的 lxml 版本是 4.6.2,因此你要手动改动 requirements.txt 文件里的 lxml 版本。

# lxml 下载地址https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
如此你的运行环境就搭建好了。

2. 准备工作
在开始抢之前 ,有一些配置需要你手动弄好,主要有这几项:

京东的 eid 和 fp

登陆你的京东网页版,随便选个商品下单,然后使用 浏览器的F12 跟踪 _JdTdudfp 变量,就能得到 eid 和 fp

并把这两个值写入到项目根目录下的 config.ini 文件中。

在 config.ini 中还有一个很重要的设置,那就是抢购时间 buy_time

因为代码实际上是执行一个 while 循环,如果时间到了设置的值就开始模拟请求开始抢

3. 开始抢购
上面的配置全部完成后,就可以开始抢了。

抢的过程分为两步:

第一步:开 PLUS会员

某东真行,这一波营销做的,原来是想让我开 PLIUS 会员,我一个网易云音乐会员都舍不得开的人,居然为了抢茅台而开了一个我用都用不上的 PLUS 会员,这个会员只能最少季付也要 78元,我忍痛开了,就当是投资了。

第二步:预约抢购

只有预约的用户才能参与抢购,你可以手动搜索 茅台 进去预约,也可以使用这个脚本来帮你预约。

执行 python main.py 然后输入 1,会弹出一个二维码,打开你手机上的 京东 app 授权登陆,接着脚本就会去帮你预约。

第三步:开始抢购

一切都准备好了,你只要在快到早上 10 点的时候执行 python main.py,然后输入 2 ,就行了。接下来就看你的运气了。

以上就是使用 jd_seckill 抢茅台的完整过程,我写得非常清楚,甚至比 github 上的官方文档还要清楚。。真的是为广大读者谋福利操碎了心。

由于抢茅台需要先开通 PLUS 会员,因此抢购实际上是需要付出成本的,但一但抢到这个回报率就非常高了,听别人说京东的小白信用分越高抢到的概率越高,因此如果你是新开的小号就是不用试了,除非东哥给你开后门了,不然肯定 是抢不到的,平时有经常使用京东的,建议可以去试下。

万一抢到的话,可以选择转手卖掉,净赚一笔,当然也可以自己收藏,等待升值,土豪想自饮也请随意。

最后祝大家好运,抢个好采头~
————————————————
版权声明:本文为CSDN博主「爱摸鱼的菜鸟码农」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/huang5333/article/details/112232918

编程

Python操作MySql(增、删、改、查)

2021-10-13 13:16:33

编程

if __name__ == '__main__' 如何正确理解?

2021-9-24 14:14:40