百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

提前三天教你们python制作万能抢购神器,学不会就准备过光棍节吧

off999 2025-06-10 00:33 13 浏览 0 评论

目录


前言:


分析(x0)


第一步


第二步


第三步


环境配置


模块安装


selenium的环境配置


Python代码


视频教程




前言:


大家好,我叫善念。自从很多关于python爬虫的文章被下架了后,我的博文是越来越没起色了。我想是因为账号的权重被下降的太多了。如果文章对您有所帮助,我希望大家可以帮忙点个一键三连,顺便动动您发财的小手给我来个如实的评论。




关于这个脚本的话,其实是我18年给学员讲的一个小案例。虽然是针对淘宝的,但实际上它是个万能脚本,为什么呢?因为它是selenium写的,所以说基本都是通用的,无非是改一些元素选择即可。


本文包含文章的思路介绍以及源代码提供,并且包含视频教程!


分析(x0)

私信小编01即可获取大量Python学习资源


首先咱们以淘宝为例,那么你想要抢购商品,


第一步


要做的就是登录账号:



然后呢


第二步


大家一定要选择扫码登录:


理由就是淘宝毕竟是淘宝,你正常的模拟输入账号密码是被检测的,有人可能已经尝试过,我可以这样讲吧,如果把账号拆成三段,密码拆成三段,然后加延迟的话确实偶尔可以登录成功!


但是你要知道为什么是偶尔呢?因为淘宝风控的是你的代理包括你的一个机器环境。所以咱们还是老老实实选择扫码登录吧。



第三步


肯定好多人会认识是搜商品然后.....其实不是的,关于咱们的一个抢购机制咱们一定要明白,那就是以结算为准以结算为准以结算为准,重要的事情说三遍,




何为结算?


其实就是说你只需要点击到结算按钮即可(即使不结算也没事,只要你点击了结算,系统会提醒你必须多长时间内付款,但实际上这个商品只要你付款就已经属于你,名额已经属于你了)


所以咱们需要做的就是提前手动把需要抢购的商品添加到购物车,然后判断时间,如果到点了,那么脚本立马给我无限点击结算即可!




环境配置


模块


  • selenium
  • time


pip install selenium



time 为内置模块无需安装。


selenium的环境配置


这个东西我讲过无数遍了,没办法 。还是得从以前的文章中复制粘贴过来......


关于selenium这个模块,咱们来重点介绍一下:


Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。


如果不能够理解我就讲点白话,如果你是web开发人员,开发好了几百个网站,那么如果你认为的去一个个的测试BUG,是不是很浪费时间?而selenium这个框架就是用来模拟人去自动化操控浏览器的,那么是不是就节约了很多时间呢。


既然selenium能够操控浏览器,那么它们之间必须要有一个桥梁,总不能无中生有吧?


那么操控的浏览器款式不一样,中间的桥梁也是不一样的。比如我更喜欢用chrome浏览器,那么咱们需要下载一个selenium与Chrome的桥梁——Chromedriver插件


下载地址



下载与你当前谷歌浏览器版本最相近的Chromedriver


那么像我的话,下载

即可。


Windows系统需下载32位,其它的自己看着办。点进去下载win32即可。


那么如何让Python与selenium连接起来呢,这里咱们需要配置一个环境变量,就是把Python与selenium处于同一个目录:



到此为止,咱们的环境就搭建好了。


Python代码


from selenium import webdriver
import datetime, time


def login():
    # 打开淘宝登录页,并经行扫码登录
    brower.get("https://www.taobao.com")

    # 等待selenium 框架加载网页完成
    time.sleep(3)

    if brower.find_element_by_link_text("亲,请登录"):
        brower.find_element_by_link_text("亲,请登录").click()
        input('扫码完成后按一下Enter键')

        brower.get("https://cart.taobao.com/cart.htm")
    time.sleep(3)

    now = datetime.datetime.now()
    print('login success: ', now.strftime('%Y-%m-%d %H:%M:%S'))


# 2. 实现商品购买
def buy(times):
    # 点击购物车里的全选按钮
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        # 对比时间,时间到的话就点击结算
        if now > times:
            while True:
                # 异常处理
                try:
                    if brower.find_element_by_id("J_SelectAll2"):
                        brower.find_element_by_id("J_SelectAll2").click()
                        break
                except:
                    print('找不到全选按钮...')
     
            # 点击结算按钮//*[@id="J_Go"]/span
            while True:
                try:
                    if brower.find_element_by_xpath('//*[@id="J_Go"]/span'):
                        brower.find_element_by_xpath('//*[@id="J_Go"]/span').click()
                        print('结算成功')
                        break
                except:
                    print('找不到结算按钮')
          
            # 提交订单
            # while True:
            #     try:
            #         if brower.find_element_by_link_text('提交订单'):
            #             brower.find_element_by_link_text("提交订单").click()
            #             now1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
            #             print('抢购成功时间:%s' % now1)
            #             break
            #     except:
            #         print('我的银行卡没钱...')
            #
            # time.sleep(0.01)#2019-06-09 17:05:00.000000

# 启动函数2019-11-02 14:03:00.000000


if __name__ == "__main__":
    times = input("请输入抢购时间,格式(2019-05-08 20:00:00.000000):")
    brower = webdriver.Chrome()
    login()
    buy(times)

相关推荐

使用 python-fire 快速构建 CLI_如何搭建python项目架构

命令行应用程序是开发人员最好的朋友。想快速完成某事?只需敲击几下键盘,您就已经拥有了想要的东西。Python是许多开发人员在需要快速组合某些东西时选择的第一语言。但是我们拼凑起来的东西在大多数时候并...

Python 闭包:从底层逻辑到实战避坑,附安全防护指南

一、闭包到底是什么?你可以把闭包理解成一个"带记忆的函数"。它诞生时会悄悄记下自己周围的变量,哪怕跑到别的地方执行,这些"记忆"也不会丢失。就像有人出门时总会带上...

使用Python实现九九乘法表的打印_用python打印一个九九乘法表

任务要求九九乘法表的结构如下:1×1=11×2=22×2=41×3=32×3=63×3=9...1×9=92×9=18...9×9=81使用Python编写程序,按照上述格式打印出完整的九...

吊打面试官(四)--Java语法基础运算符一文全掌握

简介本文介绍了Java运算符相关知识,包含运算规则,运算符使用经验,特殊运算符注意事项等,全文5400字。熟悉了这些内容,在运算符这块就可以吊打面试官了。Java运算符的规则与特性1.贪心规则(Ma...

Python三目运算基础与进阶_python三目运算符判断三个变量

#头条创作挑战赛#Python中你学会了三步运算,你将会省去很多无用的代码,我接下来由基础到进阶的方式讲解Python三目运算基础在Python中,三目运算符也称为条件表达式。它可以通过一行代码实现条...

Python 中 必须掌握的 20 个核心函数——set()详解

set()是Python中用于创建集合的核心函数,集合是一种无序、不重复元素的容器,非常适合用于成员检测、去重和数学集合运算。一、set()的基本用法1.1创建空集合#创建空集合empty_se...

15个让Python编码效率翻倍的实用技巧

在软件开发领域,代码质量往往比代码数量更重要。本文整理的15个Python编码技巧,源自开发者在真实项目中验证过的工作方法,能够帮助您用更简洁的代码实现更清晰的逻辑。这些技巧覆盖基础语法优化到高级特性...

《Python从小白到入门》自学课程目录汇总(和猫妹学Python)

小朋友们好,大朋友们好!不知不觉,这套猫妹自学Python基础课程已经结束了,猫妹体会到了水滴石穿的力量。水一直向下滴,时间长了能把石头滴穿。只要坚持不懈,细微之力也能做出很难办的事。就比如咱们的学习...

8÷2(2+2) 等于1还是16?国外网友为这道小学数学题吵疯了……

近日,国外网友因为一道小学数学题在推特上争得热火朝天。事情的起因是一个推特网友@pjmdoll发布了一条推文,让他的关注者解答一道数学题:Viralmathequationshavebeen...

Python学不会来打我(21)python表达式知识点汇总

在Python中,表达式是由变量、运算符、函数调用等组合而成的语句,用于产生值或执行特定操作。以下是对Python中常见表达式的详细讲解:1.1算术表达式涉及数学运算的表达式。例如:a=5b...

Python运算符:数学助手,轻松拿咧

Python中的运算符就像是生活中的数学助手,帮助我们快速准确地完成这些计算。比如购物时计算总价、做家务时分配任务等。这篇文章就来详细聊聊Python中的各种运算符,并通过实际代码示例帮助你更好地理解...

Python学不会来打我(17)逻辑运算符的使用方法与使用场景

在Python编程中,逻辑运算符(LogicalOperators)是用于组合多个条件表达式的关键工具。它们可以将多个布尔表达式连接起来,形成更复杂的判断逻辑,并返回一个布尔值(True或Fa...

Python编程基础:运算符的优先级_python中的运算符优先级问题

多个运算符同时出现在一个表达式中时,先执行哪个,后执行哪个,这就涉及运算符的优先级。如数学表达式,有+、-、×、÷、()等,优先级顺序是()、×、÷、+、-,如5+(5-3)×4÷2,先计算(5-3)...

Python运算符与表达式_python中运算符&的功能

一、运算符分类总览1.Python运算符全景图2.运算符优先级表表1.3.1Python运算符优先级(从高到低)优先级运算符描述结合性1**指数右→左2~+-位非/一元加减右→左3*//...

Python操作Excel:从基础到高级的深度实践

Python凭借其丰富的库生态系统,已成为自动化处理Excel数据的强大工具。本文将深入探讨五个关键领域,通过实际代码示例展示如何利用Python进行高效的Excel操作,涵盖数据处理、格式控制、可视...

取消回复欢迎 发表评论: