美文网首页Python新世界
程序员是如何应付女朋友双十一的?帮她写一个自动下单脚本就行!

程序员是如何应付女朋友双十一的?帮她写一个自动下单脚本就行!

作者: 919b0c54458f | 来源:发表于2018-11-18 14:10 被阅读10次

    接活后,冷静下来分析一下,双11活动中的商品虽然也具有“抢购”属性,但是并不同于平时所熟悉的“秒杀”那么激烈,人工浏览了一些淘宝双十一的商品,总结出双11商品一般分为以下两种(配图有些花里胡哨,但为了更直观说明):

    限时优惠,比如前15分钟享折扣更大。

    限购数量,同秒杀类似,但是商品数量会多一些。

    二、思路分析:

    如上流程图,分为两步:

    第一步,先把需要抢购的商品加购物车,注意因为后面抢购时为简化技术,会对购物车所有商品进行下单,所以不购买的商品最好先从购物车删掉。

    第二步,提前写好自动下单机器人(其实就是一个python脚本),并让机器人提前就开始运行,并且设置好抢购时间,一到时间机器人脚本就会自动抓取。

    三、机器人(脚本)实现

    代码由Python语言实现,此代码中引用到python多个扩展模块,除了selenium的webdriver,其它模块均为安装python时自带安装,那么要想成功运行此代码,需要通过如下四步部署运行环境:

    安装python,一般mac和linux系统都会默认安装python,如果是windows系统,自己去google或百度一下。

    安装webdriver扩展,webdriver属于selenium模块,Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样,以在Mac为例进行安装:

    sudo pipe install selenium

    安装浏览器,以chrome为例,自己去安装chrome浏览器,这个不用多说。

    安装chromedriver,也可以说它是chrome的一个插件,是为了webDriver可以通过操作chomedriver来控制chrome浏览器进行自动操作,比如打开网页,点击按钮等。

    下载地址:http://chromedriver.storage.googleapis.com/index.html

    注意下载时要根据电脑系统和chrome浏览器版本来选择对应的chromedriver版本,比如我的电脑是MAC,chrome版本 70.0.3538.77,下载chromedricer版本是70.0.3538.67版本的chromedriver_mac64.zip包。

    # coding=utf-8

    import os

    from selenium import webdriver

    import datetime

    import time

    from os import path

    #此处chromedriver改为自己下载的路径

    driver = webdriver.Chrome("/Users/baidu/Downloads/chromedriver")

    #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("请在15秒内完成扫码")

    time.sleep(15)

    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"))

    def buy(buytime):

    while True:

    now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

    print(buytime)

    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 = raw_input("请输入抢购时间(例如格式:2018-11-11 00:00:00):")

    login()

    buy(times)

    私信小编01 02 03 04 即可获取数十套PDF以及大量的学习教程哦!

    运行代码流程为:

    提前打开手机淘宝二维码扫描功能

    运行代码(命令:python autobuy.py)

    按照提示输入开始下单时间

    扫码登录

    静等自动下单成功后,检查价格是满意,去付款。

    相关文章

      网友评论

        本文标题:程序员是如何应付女朋友双十一的?帮她写一个自动下单脚本就行!

        本文链接:https://www.haomeiwen.com/subject/uohgfqtx.html