python实现淘宝秒杀脚本


Posted in Python onJune 23, 2020

本文实例为大家分享了python实现淘宝秒杀脚本的具体代码,供大家参考,具体内容如下

1.安装pycharm。网上教程很多。

2.安装 Selenium 库。

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

因为我这里是Python3环境,自带的又pip,所以安装selenium直接使用pip安装

安装方法:

--打开cmd;

--输入命令进入Python36/Scripts(找到下图的目录)目录下;

--输入命令 pip install selenium;

--回车,等待自动安装;

--当最后一行代码出现Successfully install selenium-XX时,表示安装成功。

python实现淘宝秒杀脚本

python实现淘宝秒杀脚本

3.插件 FireBug

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

安装方法:

--打开Firefox浏览器,点击右上角按钮

--点击附加组件

--点击扩展

--搜索firebug

--点击安装,重启浏览器

--测试安装成功,按F12出现如下画面,表示firebug已经安装成功了

python实现淘宝秒杀脚本

python实现淘宝秒杀脚本

4.安装 驱动安装 geckodriver(windows环境下)

文件链接在下方。

使用方法:

1、下载完成解压;

2、将 geckodriver 放到 该浏览器可执行文件的路径下

python实现淘宝秒杀脚本

3、添加到环境变量中

python实现淘宝秒杀脚本

5. 设置 pycharm

先创建一个工程

打开 pycharm -> 打开 file -> 点击 setting -> 点击最右边的设置按钮

python实现淘宝秒杀脚本

点击 add, 在 Virtualenv Environment 和 System Interpreter 并选定找到本文给的 python 运行文件夹,Location 是自己建立的工作文件夹,里面为空,参考操作如下:

python实现淘宝秒杀脚本

打开 pycharm -> 打开 file -> 点击 setting

将 project Interpreter 设置为 本文给的文件,或是自己本身的 python自带运行库

python实现淘宝秒杀脚本

 6. 新建一个python文件

 输入以下程序:

# -*- coding: utf-8 -*- 
from selenium import webdriver 
driver = webdriver.Firefox() 
driver.get(https://www.baidu.com)

得到如下:

python实现淘宝秒杀脚本

则成功搭建好环境。

7. 淘宝秒杀程序

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 2018/09/05
# 淘宝秒杀脚本,扫码登录版
import os
from selenium import webdriver
import datetime
import time
from os import path
from selenium.webdriver.common.action_chains import ActionChains
 
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("请在30秒内完成扫码")
 time.sleep(30)
 
 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("2018-10-22 18:55:00.000000")

以上程序是参照对应的 html 源码的对应元素所选择的。举例如下:

python实现淘宝秒杀脚本

中对应的 J_SelectAll1 对应如下:

python实现淘宝秒杀脚本

关于 selenium 和 html 源码的交互以后有时间再来研究。

资料链接如下:链接地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python完全新手教程
Feb 08 Python
分析python服务器拒绝服务攻击代码
Jan 16 Python
python pdb调试方法分享
Jan 21 Python
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
python简单获取数组元素个数的方法
Jul 13 Python
5种Python单例模式的实现方式
Jan 14 Python
浅析python协程相关概念
Jan 20 Python
python在html中插入简单的代码并加上时间戳的方法
Oct 16 Python
Python Excel处理库openpyxl使用详解
May 09 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
Jul 04 Python
python实现树的深度优先遍历与广度优先遍历详解
Oct 26 Python
matplotlib之属性组合包(cycler)的使用
Feb 24 Python
python实现网页自动签到功能
Jan 21 #Python
python实现桌面壁纸切换功能
Jan 21 #Python
在Python中通过getattr获取对象引用的方法
Jan 21 #Python
python实现windows壁纸定期更换功能
Jan 21 #Python
PyQt5+requests实现车票查询工具
Jan 21 #Python
Python设计模式之策略模式实例详解
Jan 21 #Python
Python设计模式之装饰模式实例详解
Jan 21 #Python
You might like
详解:――如何将图片储存在数据库里
2006/12/05 PHP
php 求质素(素数) 的实现代码
2011/04/12 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
2013/06/19 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
PHP基于phpqrcode类生成二维码的方法详解
2018/03/14 PHP
实例化php类时传参的方法分析
2020/06/05 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
JS模板实现方法
2013/04/03 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
详解JavaScript中的属性和特性
2016/12/08 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
Vuex 入门教程
2018/01/10 Javascript
微信小程序实现分享到朋友圈功能
2018/07/19 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
详解Python中time()方法的使用的教程
2015/05/22 Python
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
python利用thrift服务读取hbase数据的方法
2018/12/27 Python
Python遍历文件夹 处理json文件的方法
2019/01/22 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
2020/04/26 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
最简单的matplotlib安装教程(小白)
2020/07/28 Python
python使用smtplib模块发送邮件
2020/12/17 Python
HTML5+JS实现俄罗斯方块原理及具体步骤
2013/11/29 HTML / CSS
sealed修饰符是干什么的
2012/10/23 面试题
计算机网络专业求职信
2014/06/05 职场文书
幸福家庭标语
2014/06/27 职场文书
工厂标语大全
2014/10/06 职场文书
党支部培养考察意见
2015/06/02 职场文书
赞美教师的句子
2019/09/02 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python