最近,小明为了达成小姐姐的愿望,在某宝买到心仪的宝贝,再加上又迷上了python,就通过python轻而易举地实现了(个人声明:对Java来说,这并不是背叛)。
需求分析&前期准备
需求其实很简单,正常购物。那我们平常的购物流程如下所示:
开始之前,我们需要准备一下程序运行环境。
- 环境系统:Windows/Mac OS
- Python版本:3.7.2
为了让程序模拟我们每一步操作,给大家介绍一个利器:Selenium
Selenium测试同学应该会感觉特别亲切。它是一个自动化测试工具,通过它我们可以驱动浏览器执行特定的动作,如点击、下拉等等操作,所见即所得。
Selenium的安装
运行如下命令:
pip install selenium
但若想使用Selenium成功调用Chrome浏览器完成相应的操作,我们还需要一个媒介与浏览器对接。小明本次使用的是Chrome浏览器,因此就需要通过ChromeDriver来驱动。
ChromeDriver的安装
这里是谷歌浏览器ChromeDriver的官方下载地址:
https://chromedriver.storage.googleapis.com/index.html
我们需要根据自己的Chrome浏览器版本,找到相应版本的ChromeDriver,再根据你电脑系统的平台类型进行下载、解压。
- windows:将其放置在Python安装路径下
Scripts
文件夹下 - Mac OS:将其放置在
/usr/local/bin
下
环境配置到此结束,小明编写了一个python脚本,用来验证环境搭建是否成功:
from selenium import webdriver # 打开Chrome浏览器 if __name__ == '__main__': browser = webdriver.Chrome()
运行代码后,如果成功打开了一个新的浏览器,就证明我们的环境安装的没问题,接下来就可以愉快的购物了。
脚本编写
对比上面淘宝购物流程图,对应代码如下:
打开淘宝网站
browser.get("https://www.taobao.com")
登录
首先是跳转到登陆页
browser.find_element_by_link_text("亲,请登录").click()
登录方式选择二维码
browser.find_element_by_class_name("icon-qrcode").click()
用手机进行扫码成功之后进行下一步。
登录成功后,打开购物车
browser.get("https://cart.taobao.com/cart.htm")
勾选商品
browser.find_element_by_id("J_SelectAll1").click()
推荐选择全选,但如果你的购物车商品比较多,又不想全选购买,那就暂先手动勾选想要下单的商品"结 算").click()
提交订单
browser.find_element_by_link_text('提交订单').click()
只要下单成功,接下来的付款,不用着急,只要在规定的时间内支付就好。
以上就是完整购物的流程。那秒杀是如何实现呢?
秒杀的实现
思路其实很简单,就是在正常购物的基础上增加一个时间的判断:如果当前时间到了指定的时间点,就触发下单。
获取当前时间,需要使用到datetime这个内置模块,代码如下:
import datetime now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
代码梳理
- 定义一个login函数,用来登录
- 定义一个picking函数勾选购物车中的商品
- 定义一个buy函数等待抢购时间,定时秒杀
完整代码请点击访问我的github
推荐文档
Selenium-Python中文文档
今晚可以不加班!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 群星2013-青春缤纷辑压箱宝大公开3CD2[新加坡限量版][WAV整轨]
- 林育群.2013-BalladShow(日本版)【环球】【WAV+CUE】
- 陈加洛.1992-痛到感觉不到【宝丽金】【WAV+CUE】
- 群星.2023-宿命之敌电视剧原声带【韶愔音乐】【FLAC分轨】
- 東京事変-大発見[FLAC+CUE]
- 椎名林檎-三文ゴシップ[FLAC+CUE]
- 2024年08月04日
- 裘德《裘德「最后的水族馆」演唱会LIVE》[320K/MP3][228.89MB]
- 裘德《裘德「最后的水族馆」演唱会LIVE》[24bit 48kHz][FLAC/分轨][2.08G]
- 基因三重奏《如果你什么都不说 音乐会现场录音》[320K/MP3][145.37MB]
- 孟庭苇.1996-月亮说话(2020环球24KGOLD限量版)【上华】【WAV+CUE】
- 群星.1997-新艺宝优质音响系列·国语精选监听版【新艺宝】【WAV+CUE】
- 阿桑.2005-寂寞在唱歌(星外星引进版)【华研国际】【WAV+CUE】
- 基因三重奏《如果你什么都不说 音乐会现场录音》[FLAC/分轨][287.43MB]
- 蔡题谦《我爱你,却依然要看你走》[320K/MP3][88.65MB]