Python实现淘宝秒杀功能的示例代码


Posted in Python onJanuary 19, 2021

1.安装 Selenium 模块

Selenium支持很多浏览器,我选择的是Firefox浏览器。

安装方法:
①打开cmd;
②输入命令 pip install selenium;
③回车,等待自动安装;
④当最后一行代码出现Successfully install selenium-XX时,表示安装成功。

2. 插件 FireBug

FireBug 是火狐浏览器的一款查看代码元素的插件,可以快速的定位元素,selenium的重点就是元素定位,只有定到位了,才能进行下一步操作。

测试安装成功,按F12出现如下画面,表示firebug已经安装成功了
(现在浏览器基本都自带,可以忽略本步骤)

Python实现淘宝秒杀功能的示例代码

3.安装 geckodriver

下载地址:点击此下载


下载完成后,将文件夹解压到python下scripts中即可

Python实现淘宝秒杀功能的示例代码


测试:在pycharm中输入以下代码,正常弹出百度窗口,即为成功

from selenium import webdriver 
driver = webdriver.Firefox() 
driver.get('https://www.baidu.com')

**

4.淘宝秒杀代码

**

from selenium import webdriver
import datetime
import time
from os import path

d = path.dirname(__file__)
abspath = path.abspath(d)

driver = webdriver.Firefox()
driver.maximize_window()


def login():
 # 打开淘宝登录页,并进行扫码登录
 driver.get("https://www.taobao.com")
 time.sleep(3)
 if driver.find_element_by_link_text("亲,请登录"):
  driver.find_element_by_link_text("亲,请登录").click()

 print("请在20秒内完成扫码")
 time.sleep(20)

 driver.get("https://cart.taobao.com/cart.htm")
 time.sleep(3)
 # 点击购物车里全选按钮
 # if driver.find_element_by_id("J_CheckBox_939775250537"):
 # driver.find_element_by_id("J_CheckBox_939775250537").click()
 # if driver.find_element_by_id("J_CheckBox_939558169627"):
 # driver.find_element_by_id("J_CheckBox_939558169627").click()
 if driver.find_element_by_id("J_SelectAll1"):
  driver.find_element_by_id("J_SelectAll1").click()
 now = datetime.datetime.now()
 print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))


def buy(buytime):
 while True:
  now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
 # 对比时间,时间到的话就点击结算
  if now > buytime:
   try:
    # 点击结算按钮
    if driver.find_element_by_id("J_Go"):
     driver.find_element_by_id("J_Go").click()
    driver.find_element_by_link_text('提交订单').click()
   except:
   time.sleep(0.1)
   print(now)
   time.sleep(0.1)


if __name__ == "__main__":
 # times = input("请输入抢购时间:")
 # 时间格式:"2018-09-06 11:20:00.000000"
 login()
 buy("2021-01-16 15:08:00.000000")

ps: ①注意此版本代码为扫码登陆,如果觉得扫码等待时间过快,可以调整, ②秒杀前需要提前运行代码

到此这篇关于Python实现淘宝秒杀功能的示例代码的文章就介绍到这了,更多相关Python实现淘宝秒杀内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python获取本机外网ip的方法
Apr 15 Python
深入讲解Python中面向对象编程的相关知识
May 25 Python
Python设计模式编程中解释器模式的简单程序示例分享
Mar 02 Python
python装饰器深入学习
Apr 06 Python
python多进程控制学习小结
Oct 31 Python
使用python opencv对目录下图片进行去重的方法
Jan 12 Python
Django使用模板后无法找到静态资源文件问题解决
Jul 19 Python
Python 中 -m 的典型用法、原理解析与发展演变
Nov 11 Python
在pycharm中为项目导入anacodna环境的操作方法
Feb 12 Python
keras用auc做metrics以及早停实例
Jul 02 Python
安装python依赖包psycopg2来调用postgresql的操作
Jan 01 Python
Python扫描端口的实现
Jan 25 Python
Python爬虫后获取重定向url的两种方法
Jan 19 #Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 #Python
VSCODE配置Markdown及Markdown基础语法详解
Jan 19 #Python
python+selenium自动化实战携带cookies模拟登陆微博
Jan 19 #Python
selenium携带cookies模拟登陆CSDN的实现
Jan 19 #Python
django项目中使用云片网发送短信验证码的实现
Jan 19 #Python
windows系统Tensorflow2.x简单安装记录(图文)
Jan 18 #Python
You might like
关于crontab的使用详解
2013/06/24 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
PHP+memcache实现消息队列案例分享
2014/05/21 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
2016/01/11 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
JavaScript异步回调的Promise模式封装实例
2014/06/07 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
2016/09/17 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/25 Javascript
JS中type="button"和type="submit"的区别
2017/07/04 Javascript
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
分享Angular http interceptors 拦截器使用(推荐)
2019/11/10 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
使用Python脚本来控制Windows Azure的简单教程
2015/04/16 Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
2016/02/18 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
new_zeros() pytorch版本的转换方式
2020/02/18 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
Python中全局变量和局部变量的理解与区别
2021/02/07 Python
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
程序集与命名空间有什么不同
2014/07/25 面试题
中职生自我鉴定范文
2013/10/03 职场文书
管道维修工岗位职责
2013/12/27 职场文书
高一物理教学反思
2014/01/24 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
会计人员岗位职责
2015/02/03 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android