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 相关文章推荐
Pyramid将models.py文件的内容分布到多个文件的方法
Nov 27 Python
Python获取文件ssdeep值的方法
Oct 05 Python
Python中正则表达式的详细教程
Apr 30 Python
Python中functools模块的常用函数解析
Jun 30 Python
利用python爬取斗鱼app中照片方法实例
Dec 03 Python
解决python3捕获cx_oracle抛出的异常错误问题
Oct 18 Python
python实现批量文件重命名
Oct 31 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
通过python调用adb命令对App进行性能测试方式
Apr 23 Python
django前端页面下拉选择框默认值设置方式
Aug 09 Python
python如何导出微信公众号文章方法详解
Aug 31 Python
总结Pyinstaller的坑及终极解决方法(小结)
Sep 21 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/10/09 PHP
php中文验证码实现示例分享
2014/01/12 PHP
PHP实现单例模式最安全的做法
2014/06/13 PHP
YII模块实现绑定二级域名的方法
2014/07/09 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
学习php设计模式 php实现适配器模式
2015/12/07 PHP
Laravel最佳分割路由文件(routes.php)的方式
2016/08/04 PHP
js 异步处理进度条
2010/04/01 Javascript
JS Map 和 List 的简单实现代码
2013/07/08 Javascript
js获取指定的cookie的具体实现
2014/02/20 Javascript
jquery处理json对象
2014/11/03 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
从零学习node.js之express入门(六)
2017/02/25 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
npm 语义版本控制详解
2019/09/10 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
python网络爬虫采集联想词示例
2014/02/11 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
JMS中Topic和Queue有什么区别
2013/05/15 面试题
毕业生个人求职信范例分享
2013/12/17 职场文书
2015年护士节活动总结
2015/02/10 职场文书
创卫工作总结2015
2015/04/22 职场文书
Java移除无效括号的方法实现
2021/08/07 Java/Android