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操作xml文件示例
Apr 07 Python
Python multiprocessing模块中的Pipe管道使用实例
Apr 11 Python
python开发之函数定义实例分析
Nov 12 Python
利用Python学习RabbitMQ消息队列
Nov 30 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
Jan 04 Python
浅谈Pycharm调用同级目录下的py脚本bug
Dec 03 Python
Python实现Linux监控的方法
May 16 Python
简单了解django orm中介模型
Jul 30 Python
Python celery原理及运行流程解析
Jun 13 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
Oct 21 Python
python爬虫beautifulsoup解析html方法
Dec 07 Python
python中re模块知识点总结
Jan 17 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
使用GD库生成带阴影文字的图片
2015/03/27 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
jQuery过滤选择器用法分析
2015/02/10 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
angular.extend方法的具体使用
2017/09/14 Javascript
详解tween.js的使用教程
2017/09/14 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
[03:18]DOTA2放量测试专访820:希望玩家加入国服大家庭
2013/08/25 DOTA
新手该如何学python怎么学好python?
2008/10/07 Python
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
python实现给数组按片赋值的方法
2015/07/28 Python
python socket多线程通讯实例分析(聊天室)
2016/04/06 Python
基于Python对数据shape的常见操作详解
2018/12/25 Python
python适合人工智能的理由和优势
2019/06/28 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
计算机网络毕业生自荐信
2013/10/01 职场文书
舞蹈比赛获奖感言
2014/02/04 职场文书
假面舞会策划方案
2014/05/29 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
统计工作个人总结
2015/03/03 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书
2015年图书馆个人工作总结
2015/05/26 职场文书
公司人事管理制度
2015/08/05 职场文书
学风建设主题班会
2015/08/17 职场文书
高三物理教学反思
2016/02/20 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang