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 相关文章推荐
天翼开放平台免费短信验证码接口使用实例
Dec 18 Python
Python脚本实现下载合并SAE日志
Feb 10 Python
Python外星人入侵游戏编程完整版
Mar 30 Python
详解Python3操作Mongodb简明易懂教程
May 25 Python
利用python实现简单的邮件发送客户端示例
Dec 23 Python
PyQT实现多窗口切换
Apr 20 Python
python 3.6.2 安装配置方法图文教程
Sep 18 Python
python环境路径配置以及命令行运行脚本
Apr 02 Python
python超时重新请求解决方案
Oct 21 Python
详解Python调用系统命令的六种方法
Jan 28 Python
Python 键盘事件详解
Nov 11 Python
python多次执行绘制条形图
Apr 20 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
mysql 字段类型说明
2007/04/27 PHP
Windows下安装Memcached的步骤说明
2010/04/25 PHP
php中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
Zend Framework实现多文件上传功能实例
2016/03/21 PHP
jquery 将disabled的元素置为enabled的三种方法
2009/07/25 Javascript
javascript 命名规则 变量命名规则
2010/02/25 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
js对象的比较
2011/02/26 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
从0开始学Vue
2016/10/27 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
EasyUI中的dataGrid的行内编辑
2017/06/22 Javascript
js实现随机点名小功能
2017/08/17 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
Python匿名函数及应用示例
2019/04/09 Python
python实现最大优先队列
2019/08/29 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
西班牙高科技产品购物网站:MejorDeseo
2019/09/08 全球购物
求网格中的黑点分布
2013/11/06 面试题
超市实习总结自我鉴定
2013/09/19 职场文书
财务主管自我鉴定
2014/01/17 职场文书
最新创业融资计划书
2014/01/19 职场文书
网络文明传播志愿者活动方案
2014/08/20 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python