Python制作脚本帮女朋友抢购清空购物车
作者:五包辣条! 发布时间:2021-08-30 04:40:01
大家好,我是辣条。
辣条的一个朋友最近跟我诉苦:女朋友沉迷淘宝抢购无法自拔,大晚上不睡觉都在定时抢购,真是败家。
都是好朋友辣条肯定帮忙,不就是定时抢购,定时清空购物车嘛,这叫安排。
爬取目标
网站:淘宝
工具使用
开发工具:pycharm 开发环境:python3.7, Windows10 使用工具包:selenuim
需求分析
我们的目标是秒杀淘宝的订单,这里面有几个关键点,首先需要登录淘宝,其次你需要准备好订单,最后要在指定时间快速提交订单。
项目思路解析
selenium安装配置
selenium是Python自动化测试的工具库,需要配置一些环境驱动 selenium安装
pip install selenium
Selenium安装好之后,并不能直接使用,它需要与浏览器进行对接。这里拿Chrome浏览器为例。若想使用Selenium成功调用Chrome浏览器完成相应的操作,需要通过ChromeDriver来驱动。 链接:
https://chromedriver.storage.googleapis.com/index.html 根据自身的chorme版本选择安装的驱动版本
下载完成之后,解压,将其放置在Python安装路径下python文件夹中即可
项目解析
尝试通过selenium打开淘宝首页,检验是否安装成功
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get(https://www.taobao.com)
通过xpath定位选取到登录标签,抢购脚本需要先知道你购买的东西是什么
登录的方式课自行选择(可账户密码登录,也可扫码登录,辣条在这里用的扫码登录)
登录成功后点击购物车,选取你需要的商品数据(可全选,可自己手动勾选)
在点击结算按钮
设定一个结算时间,你需要下单的时间
等待时间的到来 点击提交订单按钮
简易源码分享
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : BaiChuan
# @File : 淘宝抢购.py
from selenium import webdriver
import datetime
import time
driver = webdriver.Chrome()
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_SelectAll1"):
driver.find_element_by_id("J_SelectAll1").click()
now = datetime.datetime.now()
print('login success:', now.strftime('%Y-%m-%d %H:%M:%S:%f'))
def buy(buytime):
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
print("当前时间" + now)
# 对比时间,时间到的话就点击结算
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("2021-08-24 14:30:00.000000")
脚本是弄完了不过事情好像没完......
来源:https://blog.csdn.net/AI19970205/article/details/119911992


猜你喜欢
- 问题(来自Udacity机器学习工程师纳米学位预览课程)用 Python 实现函数 count_words(),该函数输入字符串 s 和数字
- python类class定义及其初始化定义类,功能,属性一般类名首字母大写class Calculator:#名字和价格是属性
- 在日常工作编程中存在着各种随机事件,同样在编程中生成随机数字的时候也是一样,随机有多随机呢?在涉及信息安全的情况下,它是最重要的问题之一。每
- 报错信息:Job for mysqld.service failed because the control process exited
- 前言离过年还有十多天,在这里提前祝各位小伙伴新年快乐呀~先说句题外话:疫情还是比较严峻,各位小伙伴要是出门的话一定要做好防护措施呀,不出门的
- 如下所示:'''@author: Jacobpc'''import osimport sys
- JavaScript toLowerCase 方法toLowerCase 方法用于把(英文)字符串转换为小写,并返回转换后的字符串。其语法如
- 编程是数据科学中不可或缺的技能,虽然创建脚本来执行基本功能很容易,但编写大规模可读性良好的代码需要更多的思考。关于PEP-8pycodest
- 背景实现需求:批量下载联想某型号的全部驱动程序。一般在做网络爬虫的时候,都是保存网页信息为主,或者下载单个文件。当涉及到多文件批量下载的时候
- 什么是内存管理机制python中创建的对象的时候,首先会去申请内存地址,然后对对象进行初始化,所有对象都会维护在一个叫做refchain的双
- 在上篇文章给大家介绍了Bootstrap的基础知识,接下来通过本文给大家介绍我们可以在http://getbootstrap.com下载bo
- 以上是开头,安装完后需要导入转载的代码读取所有docx文件中的内容发现没有读取到表格数据:from docx import Document
- 准备正常情况下,创建class的实例后,可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。首先定义一个classclass A(obj
- 有人问为什么要去扫描网站目录:懂的人自然懂这个Python脚本的特点:1.基本完善2.界面美观(只是画了个图案)3.可选参数增加了线程数4.
- 抛出的异常信息:异常详细信息: System.ArgumentOutOfRangeException: “ddlTotalCostDisco
- 初学初用,随手记录以当作笔记使用,会慢慢再进行补充添加,错误之处烦请指正。(1)运行本地文件,在代码不加载的情况下可以直接显示结果% run
- SocketServer创建一个网络服务框架。它定义了类来处理TCP,UDP, UNIX streams 和UNIX datagrams上的
- ORACLE的这类错误在ORALCE的文档中有详细说明,但原因及措施说明不详细,本文当着重说明如何解决这类错误。1、ORA-12571、OR
- 1. 滤波器1.1 什么是滤波器滤波器是对图像做平滑处理 的一种常用工具。平滑处理即在尽可能地保留原图像信息的情况下,对像素值进行微调,使邻
- 之前都是直接拿sax,或dom等库去解析xml文件为Python的数据类型再去操作,比较繁琐,如今在写Django网站ajax操作时json