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程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
Python正则表达式使用经典实例
Jun 21 Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 Python
pymongo中聚合查询的使用方法
Mar 22 Python
基于Python的PIL库学习详解
May 10 Python
利用python和百度地图API实现数据地图标注的方法
May 13 Python
linux环境下Django的安装配置详解
Jul 22 Python
python实现飞行棋游戏
Feb 05 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
Mar 24 Python
python如何删除列为空的行
Jul 17 Python
浅析Python中字符串的intern机制
Oct 03 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
Feb 06 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
2020年4月新番动漫目录 官方宣布4月播出的作品一览
2020/03/08 日漫
php里array_work用法实例分析
2015/07/13 PHP
PHP三种方式实现链式操作详解
2017/01/21 PHP
datePicker——日期选择控件(with jquery)
2007/02/20 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
2014/01/26 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
Seajs是什么及sea.js 由来,特点以及优势
2016/10/13 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
前端天气插件tpwidget使用方法详解
2019/06/24 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
JS面向对象编程实现的拖拽功能案例详解
2020/03/03 Javascript
微信小程序实现列表左右滑动
2020/11/19 Javascript
Python时间戳与时间字符串互相转换实例代码
2013/11/28 Python
python操作gmail实例
2015/01/14 Python
Python爬虫实现百度图片自动下载
2018/02/04 Python
Python3.6使用tesseract-ocr的正确方法
2018/10/17 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
python程序如何进行保存
2020/07/03 Python
Python如何合并多个字典或映射
2020/07/24 Python
用CSS3打造HTML5的Logo(实现代码)
2016/06/16 HTML / CSS
西班牙高科技产品购物网站:MejorDeseo
2019/09/08 全球购物
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
培训心得体会
2013/12/29 职场文书
文明礼仪小标兵事迹
2014/01/12 职场文书
中式餐厅创业计划书范文
2014/01/23 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
找规律教学反思
2016/02/23 职场文书
担保书怎么写 ?
2019/04/22 职场文书
深入理解Pytorch微调torchvision模型
2021/11/11 Python
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL