种地 发表于 2022-6-24 05:10:01

Python实现秒杀某宝商品抢购

人生苦短,我用Python~
某宝秒杀,用毫秒级的精准度来抢购!
你还在为各种活动秒杀 抢不过别人而烦恼吗?
今天出一期 利用Python抢购秒杀商品的文章
目录


[*]​ 项目环境
[*]某宝抢购流程分析
[*]程序实现思路
[*]代码实践与梳理
项目环境


[*]​ 操作系统:Windows 10
[*]开发环境:python3.7
[*]IDE:Pycharm
[*]自动化模块:Selenium
[*]安装命令:pip install selenium
[*]浏览器版本:Google Chrome 99.0.4844.51
[*]浏览器驱动版本:ChromeDriver 99.0.4844.51
注意: ​ 浏览器驱动版本与浏览器版本要一致!
抢购流程分析


[*]​ 登录网站
[*]购物车选中抢购商品
[*]结算购买
[*]提交订单
关键:快速完成前面流程,当订单进入提交页面时,付款时间不影响抢购。
程序实现思路

​ 购物流程都是固定没有变化的,因此可以把购物流程步骤用代码编辑好交给selenium去自动执行。
​ 项目结构:驱动直接复制放入项目根路径
https://img-blog.csdnimg.cn/ffd05c4d5fc64ecda0506633ffc94737.png
1、导入对应类库实现对浏览器的操作
from selenium import webdriver
import datetime   
import time

#自动打开浏览器并且最大化窗口
# Python学习交流1裙 815624229 ###
# Python学习交流2裙 279199867 ###

driver = webdriver.Chrome()
driver.maximize_window() 
执行上述代码,浏览器会自动打开并显示如下,证明我们已经开始通过代码操控浏览器了。
https://img-blog.csdnimg.cn/0b418d9a534746429d7cc81b87c9319a.png
2、用代码实现购物流程
2.1 访问某宝:
driver.get('https://www.taobao.com') 
2.2登录某宝:https://img-blog.csdnimg.cn/1127da6209cd43119828c272cae71091.png
if driver.find_element_by_partial_link_text('亲,请登录'):
      driver.find_element_by_partial_link_text('亲,请登录').click() 
2.3 进入购物车
#跳转到购物车页面
driver.get('https://cart.taobao.com/cart.htm') 
2.4 选中所有商品
https://img-blog.csdnimg.cn/1711c6d8f9eb46c78a35af97a48465b5.png
#寻找全选选项并勾选
if driver.find_element_by_id("J_SelectAll1"):
      driver.find_element_by_id("J_SelectAll1").click() 
2.5 对比时间,提交结算(重点)
def buy(buy_time):#buy_time 购买时间
    while True:
      now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
      print('当前时间:%s'%now)

      #判断是否到达抢购时间
      if now>buy_time:
            try:
                driver.find_element_by_partial_link_text('结 算').click()
            except:
                pass
      #对比时间,循环提交订单
      while True:
                try:
                  if driver.find_element_by_link_text('提交订单'):
                        driver.find_element_by_link_text('提交订单').click()
                        print(f"抢购成功,请尽快付款")
                except:
                  print(f"再次尝试提交订单")
            time.sleep(0.01) 
​ 这样就可以通过设定的段时间去定时定点抢购商品啦!
https://img-blog.csdnimg.cn/9b33e1d791144c588985ae7c7d633759.png
print(f"再次尝试提交订单")
      time.sleep(0.01) 
[外链图片转存中...(img-oA7Q06eg-1648366756452)]

​    **这样就可以通过设定的段时间去定时定点抢购商品啦!**​ 这样就可以通过设定的段时间去定时定点抢购商品啦!
https://img-blog.csdnimg.cn/5e8b335463af4373bca4a4339d184577.png
我每天都走越来越刑的路上疯狂试探
大家给点个免费的关注吧
感谢 !!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Python实现秒杀某宝商品抢购