Python制作脚本帮女朋友抢购清空购物车
大家好,我是辣条。
辣条的一个朋友最近跟我诉苦:女朋友沉迷淘宝抢购无法自拔,大晚上不睡觉都在定时抢购,真是败家。
都是好朋友辣条肯定帮忙,不就是定时抢购,定时清空购物车嘛,这叫安排。
爬取目标
网站:
工具使用
开发工具:pycharm 开发环境:python3.7, windows10 使用工具包:selenuim
需求分析
我们的目标是秒杀淘宝的订单,这里面有几个关键点,首先需要登录淘宝,其次你需要准备好订单,最后要在指定时间快速提交订单。
项目思路解析
selenium安装配置
selenium是python自动化测试的工具库,需要配置一些环境驱动 selenium安装
pip install selenium
selenium安装好之后,并不能直接使用,它需要与浏览器进行对接。这里拿chrome浏览器为例。若想使用selenium成功调用chrome浏览器完成相应的操作,需要通过chromedriver来驱动。 链接:
根据自身的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")
脚本是弄完了不过事情好像没完......
到此这篇关于python制作脚本抢购清空购物车的文章就介绍到这了,更多相关python抢购脚本内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: CSS的class与id常用的命名规则
下一篇: C#语言主要语言区域