【自制】茅台抢购系统

据可靠消息,天猫茅台旗舰店里的飞天茅,每天15:00有秒杀,市场价2000+这里只要1499哇!

但页面一直是都是这样,我连茅台上架的影子都看不到ヽ(`⌒´)ノ

朋友圈里飞天茅有1800+收的,这个每天又能抢两瓶,也就是赚600,一个月就是20000!要是我写一个自动抢茅台的软件,那岂不是躺着月入两万?

写!

大体思路很简单,就是selenium模拟浏览器操作,一直买。但是首先有个问题,那就是这个飞天茅,它每天的抢购链接都是不固定的哇?

细心的我发现了端倪:这个链接就是明文写在首页上的哇!

# 茅台最新链接
def findlink():
    for i in range(10):
        user_agent = [...]
        url = 'https://maotai.tmall.com/'
        html = get_one_page(url,headers={"User-Agent":random.choice(user_agent)})
        html = str(html)
        link = re.findall("\"602,100,835,370\" href=\"//(.*?) target",html,re.S)
        if link==[]:
            continue
        else:
            link1 = re.sub("\"", "", link[0])
            # print(link1)
            break
    return link1

下一步自然就是登录。登录本来有个验证码的,但是为了省事,我就扫码登录了:

# 登录
def login(driver):
    driver.get("https://www.taobao.com")
    driver.maximize_window()
    if driver.find_element_by_link_text("亲,请登录"):
        driver.find_element_by_link_text("亲,请登录").click();
    time.sleep(0.3)
    if driver.find_element_by_id("J_QRCodeImg"):
        print ('get the QRCodeImgUrl.....')
        print (driver.find_element_by_id("J_QRCodeImg").find_element_by_tag_name("img").get_attribute("src"))
        code = driver.find_element_by_id("J_QRCodeImg").find_element_by_tag_name("img").get_attribute("src")
    # 这些是和写的界面相关的,后面才说    
    if (ui.able[0] == 1) and (ui.able[1] == 1) and (ui.able[2] == 1):
        ui.OnInfoButton("请扫码登录:\n",str(code))
    else:
        ui.warning('请设置正确的参数')

    while True:
        try:
            if driver.find_element_by_link_text("密码登录"):
                print ("请扫码登录...")
                time.sleep(0.3)

        except NoSuchElementException:
            print ("成功登录...")
            print (driver.current_url)
            break

登陆完之后,就抢呗:

# 抢购
def buy(buytime,driver):
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        link = findlink()
        driver.get("https://" + link)

        if now == buytime:
            try:
                try:
                    driver.execute_script("window.scrollBy(0,200)")
                    if driver.find_element_by_id("J_LinkBuy"):
                        driver.find_element_by_id("J_LinkBuy").click()
                    driver.find_element_by_link_text('立即购买').click()
                    print(now + "第一次提交订单成功")
                    while True:
                        try:
                            time.sleep(0.2)
                            driver.execute_script("window.scrollBy(0,300)")
                            driver.find_element_by_link_text('提交订单').click()
                            print("购买成功!")
                            break
                        except:
                            time.sleep(0.01)
                            print("没买到")
                            break
                except:
                    time.sleep(0.01)
                    print(now + "立即购买失败")
                    continue

                time.sleep(0.05)
                driver.find_element_by_link_text('提交订单').click()
                print("购买成功!fhdsvodij")
            except:
                print("完了")
        else:
            print("还没出现")
            continue

这样大体上就能实现抢购茅台了。

但是我还是闲的蛋疼,觉得应该搞成一个EXE,让爸妈也一起抢:


然后我就美滋滋的开始了,抢了几天,还是连上架的影子都没看到??

于是我问了朋友圈里收茅台的,他说:

这些天茅台都不上架了

所以这个故事说明,眼界和见识,有时候比能力更重要。对,这就是本文的主旨。

我浪费了几个小时的时间,为了不让您浪费这读文章的几分钟,源码在这里下载:

↓↓关注公众号,获得更新通知↓↓

2人评论了“【自制】茅台抢购系统”

  1. 莫婉香

    眼界和见识,有时候比能力更重要。但有能力就能时刻做好准备,机会来了就上车哈哈

发表评论