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转换字符串为摩尔斯电码的方法
Jul 06 Python
使用python和Django完成博客数据库的迁移方法
Jan 05 Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 Python
Python生成MD5值的两种方法实例分析
Apr 26 Python
Django项目主urls导入应用中views的红线问题解决
Aug 10 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
Python中url标签使用知识点总结
Jan 16 Python
Python新手如何进行闭包时绑定变量操作
May 29 Python
Python过滤序列元素的方法
Jul 31 Python
详解python对象之间的交互
Sep 29 Python
Python pip 常用命令汇总
Oct 19 Python
python爬虫利用代理池更换IP的方法步骤
Feb 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
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
[40:19]2018完美盛典CS.GO表演赛
2018/12/17 DOTA
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
python正则中最短匹配实现代码
2018/01/16 Python
Python 实现「食行生鲜」签到领积分功能
2018/09/26 Python
python多进程并行代码实例
2019/09/30 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
python实现低通滤波器代码
2020/02/26 Python
详解python logging日志传输
2020/07/01 Python
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
戴尔新西兰官网:Dell New Zealand
2020/01/07 全球购物
单位门卫岗位职责
2013/12/20 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
国际经济贸易专业自荐信
2014/06/13 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
教师考核评语大全
2014/12/31 职场文书
5.12护士节活动总结
2015/02/10 职场文书
爱的教育读书笔记
2015/06/26 职场文书