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实现linux服务器批量修改密码并生成execl
Apr 22 Python
在ironpython中利用装饰器执行SQL操作的例子
May 02 Python
Python使用Scrapy爬取妹子图
May 28 Python
python 中random模块的常用方法总结
Jul 08 Python
python使用opencv按一定间隔截取视频帧
Mar 06 Python
详解Python if-elif-else知识点
Jun 11 Python
对python操作kafka写入json数据的简单demo分享
Dec 27 Python
python学生信息管理系统实现代码
Dec 17 Python
Django REST 异常处理详解
Jul 15 Python
Pyecharts 中Geo函数常用参数的用法说明
Feb 01 Python
分析Python list操作为什么会错误
Nov 17 Python
Pandas搭配lambda组合使用详解
Jan 22 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缓存技术介绍
2006/11/25 PHP
PHP中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
两种php去除二维数组的重复项方法
2015/11/04 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
日期 时间js控件
2009/05/07 Javascript
jQuery Ajax文件上传(php)
2009/06/16 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
查询json的数据结构的8种方式简介
2014/03/10 Javascript
jQuery is()函数用法3例
2014/05/06 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
js实现导航吸顶效果
2017/02/24 Javascript
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
Win10 安装PyCharm2019.1.1(图文教程)
2019/09/29 Python
Tensorflow 实现释放内存
2020/02/03 Python
Python中的__init__作用是什么
2020/06/09 Python
python statsmodel的使用
2020/12/21 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
联想中国官方商城:Lenovo China
2017/10/18 全球购物
大学生个人自荐信样本
2014/03/02 职场文书
教育合作协议范本
2014/10/17 职场文书
骨干教师考核评语
2014/12/31 职场文书
2015年人力资源工作总结
2015/04/08 职场文书
小学大队长竞选稿
2015/11/20 职场文书
法制教育讲座心得体会
2016/01/14 职场文书
php去除deprecated的实例方法
2021/11/17 PHP