用python爬虫在京东抢购茅台(学习版)

  1. 环境搭建
    第一步

把项目代码(https://download.csdn.net/download/qq_38144995/14121383)下载到本地并解压。

第二步

进入到解压后的目录中,使用 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

如此你的运行环境就搭建好了。

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

京东的 eid 和 fp
在这里插入图片描述

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

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

在 config.ini 中还有一个很重要的设置,那就是抢购时间 buy_time
在这里插入图片描述

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

#反复结算
def auto_check(self,times):
while True:
try:
if driver.find_element_by_id(‘J_SelectAll1’):
driver.find_element_by_id(‘J_SelectAll1’).click()
time.sleep(0.5)
break
except:
time.sleep(0.5)
pass

while True:
    if datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') >= times:
        while True:
            try:
                driver.find_element_by_id("J_Go").click()
                print("成功结算")
                driver.find_element_by_link_text('提交订单').click()
                print(f"抢购成功,请尽快付款")
                time.sleep(5)
                return 0
            except:
                print("无法结算,重试")
                time.sleep(1)
                driver.get("https://cart.taobao.com/cart.htm")
                self.auto_check(times)

def auto_check1(self,times):
while True:
if datetime.datetime.now().strftime(’%Y-%m-%d %H:%M:%S.%f’) >= times:
while True:
try:
driver.find_element_by_id(“J_Go”).click()
print(“成功结算”)
driver.find_element_by_link_text(‘提交订单’).click()
print(f"抢购成功,请尽快付款")
time.sleep(5)
return 0
except:
print(“无法结算,重试”)
time.sleep(1)
driver.get(“https://cart.taobao.com/cart.htm”)
self.auto_check(times)

运行

def run_driver(self, num, pwd, times):
self.login_in(num, pwd, times)

在这里插入图片描述

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

抢的过程分为两步:

第一步:开 PLUS会员

第二步:预约抢购

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

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

在这里插入图片描述

第三步:开始抢购

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

在这里插入图片描述

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

由于抢茅台需要先开通 PLUS 会员,因此抢购实际上是需要付出成本的,但一但抢到这个回报率就非常高了。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

化身孤岛的猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值