Python使用Selenium实现淘宝抢单的流程分析

 更新时间:2020年06月23日 08:49:34   作者:Coder小明  
这篇文章主要介绍了Python使用Selenium实现淘宝抢单的流程分析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

最近,小明为了达成小姐姐的愿望,在某宝买到心仪的宝贝,再加上又迷上了python,就通过python轻而易举地实现了(个人声明:对Java来说,这并不是背叛)。

需求分析&前期准备

需求其实很简单,正常购物。那我们平常的购物流程如下所示:

开始之前,我们需要准备一下程序运行环境。

  • 环境系统:Windows/Mac OS
  • Python版本:3.7.2

为了让程序模拟我们每一步操作,给大家介绍一个利器:Selenium

Selenium测试同学应该会感觉特别亲切。它是一个自动化测试工具,通过它我们可以驱动浏览器执行特定的动作,如点击、下拉等等操作,所见即所得。

Selenium的安装

运行如下命令:

pip install selenium

但若想使用Selenium成功调用Chrome浏览器完成相应的操作,我们还需要一个媒介与浏览器对接。小明本次使用的是Chrome浏览器,因此就需要通过ChromeDriver来驱动。

ChromeDriver的安装

这里是谷歌浏览器ChromeDriver的官方下载地址:
https://chromedriver.storage.googleapis.com/index.html
我们需要根据自己的Chrome浏览器版本,找到相应版本的ChromeDriver,再根据你电脑系统的平台类型进行下载、解压。

  • windows:将其放置在Python安装路径下Scripts文件夹下
  • Mac OS:将其放置在/usr/local/bin

环境配置到此结束,小明编写了一个python脚本,用来验证环境搭建是否成功:

from selenium import webdriver
  # 打开Chrome浏览器
if __name__ == '__main__':
  browser = webdriver.Chrome()

运行代码后,如果成功打开了一个新的浏览器,就证明我们的环境安装的没问题,接下来就可以愉快的购物了。

脚本编写

对比上面淘宝购物流程图,对应代码如下:

打开淘宝网站

browser.get("https://www.taobao.com")

登录
首先是跳转到登陆页

browser.find_element_by_link_text("亲,请登录").click()

登录方式选择二维码

browser.find_element_by_class_name("icon-qrcode").click()

用手机进行扫码成功之后进行下一步。

登录成功后,打开购物车

browser.get("https://cart.taobao.com/cart.htm")

勾选商品

 browser.find_element_by_id("J_SelectAll1").click()

推荐选择全选,但如果你的购物车商品比较多,又不想全选购买,那就暂先手动勾选想要下单的商品😅。

结算

browser.find_element_by_link_text("结 算").click()

提交订单

browser.find_element_by_link_text('提交订单').click()

只要下单成功,接下来的付款,不用着急,只要在规定的时间内支付就好。
以上就是完整购物的流程。那秒杀是如何实现呢?

秒杀的实现

  思路其实很简单,就是在正常购物的基础上增加一个时间的判断:如果当前时间到了指定的时间点,就触发下单。
  获取当前时间,需要使用到datetime这个内置模块,代码如下:

import datetime
  now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')

代码梳理

  • 定义一个login函数,用来登录
  • 定义一个picking函数勾选购物车中的商品
  • 定义一个buy函数等待抢购时间,定时秒杀

完整代码请点击访问我的github

推荐文档

Selenium-Python中文文档

今晚可以不加班!

到此这篇关于Python使用Selenium实现淘宝抢单的文章就介绍到这了,更多相关Python实现淘宝抢单内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在Python下使用Txt2Html实现网页过滤代理的教程

    在Python下使用Txt2Html实现网页过滤代理的教程

    这篇文章主要介绍了在Python下使用Txt2Html实现网页过滤代理的教程,来自IBM官方开发者技术文档,需要的朋友可以参考下
    2015-04-04
  • Python实现抖音热搜定时爬取功能

    Python实现抖音热搜定时爬取功能

    这篇文章主要为大家介绍了利用Python制作的一个新摸鱼神器,可以实现抖音热搜定时爬取。文中的实现步骤讲解详细,感兴趣的可以试一试
    2022-03-03
  • python数学建模是加深Numpy和Pandas学习

    python数学建模是加深Numpy和Pandas学习

    这篇文章主要介绍了python数学建模是加深Numpy和Pandas学习,紧接上一篇学习内容展开Numpy更多相关内容,需要的小伙伴可以参考一下
    2022-07-07
  • 在 Python 中如何为对象添加属性

    在 Python 中如何为对象添加属性

    在本文中我们将介绍如何在Python中为对象添加属性,我们还将通过示例介绍如何在Python中更改对象的属性,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-06-06
  • 1 行 Python 代码快速实现 FTP 服务器

    1 行 Python 代码快速实现 FTP 服务器

    FTP 服务器,在此之前我都是使用Linux的vsftpd软件包来搭建FTP服务器的,现在发现了利用pyftpdlib可以更加简单的方法即可实现FTP服务器的功能。下面小编给大家带来了1 行 Python 代码快速实现 FTP 服务器,需要的朋友参考下
    2018-01-01
  • 如何利用Python快速统计文本的行数

    如何利用Python快速统计文本的行数

    这篇文章主要介绍了如何利用Python快速统计文本的行数,要快速统计一个文本文件中的行数,其实就是要统计这个文本文件中换行符的个数,下面我们就一起进入文章看看具体的操作过程吧
    2021-12-12
  • pandas 数据实现行间计算的方法

    pandas 数据实现行间计算的方法

    今天小编就为大家分享一篇pandas 数据实现行间计算的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 利用Python产生加密表和解密表的实现方法

    利用Python产生加密表和解密表的实现方法

    这篇文章主要介绍了利用Python产生加密表和解密表的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • python如何将数据集按比例随机切分

    python如何将数据集按比例随机切分

    这篇文章主要介绍了python如何将数据集按比例随机切分问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 深度学习之GPU,CUDA和cuDNN的理解

    深度学习之GPU,CUDA和cuDNN的理解

    Cuda和cudnn是支持NVIDIA支持GPU的两个库,分别用于高性能计算和深度神经网络计算的支持,下面这篇文章主要给大家介绍了关于深度学习之GPU,CUDA和cuDNN的理解,需要的朋友可以参考下
    2023-02-02

最新评论