学会python,还怕618有抢不到的东西吗?

淘宝、天猫,这些相信大家已经无比的熟悉,在每年双十一、双十二,或是其它重大节日的时候,平台都会上一些性价比较高的商品,商品的性价比越高,自然吸引顾客的眼光也越多。还记得你半夜卡着点抢购自已心仪商品的时候吗?狂点手机,却一秒就库存不足。你只有一个参与的机会,你不知道的是谁在背后与你抢,在与你竞争,当然是抢购机器人了。

今天我就给大家推荐一个淘宝/天猫的秒杀脚本,这个脚本用Python编写的,使用到了Python的三方库selenium,并且通过selenium + chromedriver,用程序控制chrome浏览器,完成抢购的一系列操作。有了这个脚本,大家至少可以与其他的机器人站在同一起跑线上,公平的抢购喜欢的宝贝。

1、selenium 安装与 chromedriver安装

Python脚本中使用了selenium库,而selenium又通过chromedriver来控制浏览器的鼠标点击等操作。所以,第一步,是正确的安装与配置selenium以及chromedriver。

selenium的安装很简单,与其他Python三方库一样,我们直接用pip安装。

pip install selenium

chromedriver的安装,首先,chromedriver的版本很关键,需要选择的chromedriver版本,一定要与Chrome的版本一致。

下载完成后,解压压缩包,找到chromedriver.exe复制到chrome的安装目录(其实也可以随便放一个文件夹)。复制chromedriver.exe文件的路径并加入到电脑的环境变量中去。具体的:

学会python,还怕618有抢不到的东西吗?

 

进入环境变量编辑界面,添加到用户变量即可,双击PATH,将文件位置(例如我们的是 C:\Program Files (x86)\Google\Chrome\Application\)添加到后面。

完成安装后,我们到cmd界面, 输入chromedriver,如果下方给出了chromedriver的版本号,说明已经安装成功。

学会python,还怕618有抢不到的东西吗?

 

我们再通过Python库selenium,来调用chromedriver,以此来简单测试chromedriver的功能。如果我们未配置环境变量,可用如下代码进行测试

from selenium import webdriverimport time

def main():

    chrome_driver = 'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe'  #chromedriver的文件位置

    b = webdriver.Chrome(executable_path = chrome_driver)

    b.get('https://www.google.com')

    time.sleep(5)

    b.quit()

if __name__ == '__main__':

    main()

而如果我们已经配置好了环境变量,可以通过另一端代码来进行测试

from selenium import webdriverimport time

def main():

    b = webdriver.Chrome()

    b.get('https://www.baidu.com')

    time.sleep(5)

    b.quit()

if __name__ == '__main__':

    main()

2、核心模块代码解析

安装、配置完selenium与chromedriver之后,我们就可以开始编写秒杀脚本的核心逻辑了。核心逻辑,我们通过封装函数来实现各个步骤。

第一步,启动chromedriver,并登陆淘宝。这里需要注意的是,我们通过控制chromedriver打开淘宝主页,进入到登陆界面后,需要手工扫码进行登陆。这一步骤无法做到全自动。

第二步,登陆后,我们仍然是通过chromedriver控制,进入购物车界面,并设定一个60秒的定时刷新,即每隔60秒刷新一遍购物车界面,使得我们的淘宝账户保持在登陆状态。直到当前的时间与我们所设定宝贝的抢购时间相差小于100秒,再进入下一步。

第三步,通过chromedriver选中购物车全部商品,将本地时间与淘宝服务器时间校准,以淘宝服务器返回时间作为标准时间,一旦淘宝时间到达我们抢购的时间,立即从购物车提交订单。此时有两种情况,如果我们提交订单的任务发送的太早,提交订单按钮还没有出现,此时我们重复提交订单步骤,一直到按钮出现;另一种情况,提交订单按钮在我们发送提交请求的时候已经可用了,那么直接提交成功。

第四步,付款,由于部分抢购是以付款为顺序为优先级的,我们将付款操作也加入秒杀脚本的流程,并作为最后一步,当我们提交订单成功后,脚本将自动帮助我们执行支付宝的付款。此处需要注意的是,我们需要在脚本中提前设置好正确的6位数支付密码。

以上就是操作步骤啦,还等什么,学起来,今年在也不用担心买不到想买的东西了。

学会python,还怕618有抢不到的东西吗?

·在这感谢您—路读到了最后

·如果这篇文章对您有帮助,请记得点赞、分享这篇文章。

·如果对文中的内容有疑问、错误或有意见想告诉我,欢迎留言。

上一篇:C# + Selenium + ChromeDriver 爬取网页


下一篇:Docker ubuntu 安装 chrome chromedriver