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 BeautifulSoup库抓取58手机维修信息
Nov 21 Python
Python中逗号的三种作用实例分析
Jun 08 Python
Python基于TCP实现会聊天的小机器人功能示例
Apr 09 Python
Python学习笔记之open()函数打开文件路径报错问题
Apr 28 Python
详解Python中is和==的区别
Mar 21 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
Jun 27 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
Jul 12 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
Feb 18 Python
python通过文本在一个图中画多条线的实例
Feb 21 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
Mar 27 Python
Python用SSH连接到网络设备
Feb 18 Python
python双向链表实例详解
May 25 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 str_pad 函数使用详解
2009/01/13 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
php jsonp单引号转义
2014/11/23 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
javascript实现全角半角检测的方法
2015/07/23 Javascript
Bootstrap每天必学之导航条
2015/11/27 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
详解tween.js 中文使用指南
2018/01/05 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
layui+jquery支持IE8的表格分页方法
2019/09/28 jQuery
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
原生JavaScript实现幻灯片效果
2021/02/19 Javascript
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
Python中装饰器的一个妙用
2015/02/08 Python
详解使用python crontab设置linux定时任务
2016/12/08 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
自我鉴定的范文
2013/10/03 职场文书
小组合作学习反思
2014/02/18 职场文书
1亿有多大教学反思
2014/05/01 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
MYSQL 无法识别中文的永久解决方法
2021/06/03 MySQL
一文弄懂MySQL索引创建原则
2022/02/28 MySQL
浅析JavaScript中的变量提升
2022/06/01 Javascript