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时间整形转标准格式的示例分享
Feb 14 Python
Django验证码的生成与使用示例
May 20 Python
简单实现python画圆功能
Jan 25 Python
用python实现对比两张图片的不同
Feb 05 Python
详解python Todo清单实战
Nov 01 Python
Django项目使用ckeditor详解(不使用admin)
Dec 17 Python
在PyCharm中实现添加快捷模块
Feb 12 Python
Python爬虫爬取电影票房数据及图表展示操作示例
Mar 27 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
Sep 04 Python
利用python绘制正态分布曲线
Jan 04 Python
python 实现的车牌识别项目
Jan 25 Python
Python进度条的使用
May 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
理解PHP5中static和const关键字的区别
2007/03/19 PHP
php生成xml简单实例代码
2009/12/16 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
jquery弹出框插件jquery.ui.dialog用法分析
2016/08/20 Javascript
javascript入门之string对象【新手必看】
2016/11/22 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
python使用tensorflow深度学习识别验证码
2018/04/03 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
python安装scipy的方法步骤
2019/06/26 Python
python ftplib模块使用代码实例
2019/12/31 Python
打包PyQt5应用时的注意事项
2020/02/14 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
python文件及目录操作代码汇总
2020/07/08 Python
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
毕业实习个人鉴定范文
2013/12/10 职场文书
入党自我鉴定
2014/03/25 职场文书
促销活动总结范文
2014/04/30 职场文书
中央空调节能方案
2014/06/15 职场文书
高中升旗仪式主持词
2015/07/03 职场文书
2015初一年级组工作总结
2015/07/24 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
Python 如何实现文件自动去重
2021/06/02 Python
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL