• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python抢购软件/插件/脚本附完整源码

    距上篇关于淘宝抢购源码的文章已经过去五个月了,五个月来我通过不停的学习,掌握了更深层的抢购技术及原理,而上篇文章中我仅分享了关于加入购物车的商品的抢购源码,且有部分不足。

    博主不提供任何服务器端程序,也不提供任何收费抢购软件。该文章仅作为学习selenium框架及GUI开发的一个示例代码。该思路可运用到其他任何网站,京东,天猫,淘宝均可使用,且不属于外挂或者软件之类,只属于一个自动化点击工具,如有侵犯到任何公司的合法权益,请私信联系,会第一时间将相关代码给予删除。

    本篇文章我将附上完整源码,及其图形化开发的源码,及加密源码。代码稍长,如有疑惑可站内私信联系博主。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    #made in white-night
    #coding=utf-8
     
    import re
    from PyQt5.QtWidgets import *
    import sys
    from PyQt5 import QtCore, QtWidgets
    from selenium import webdriver
    import datetime
    import time
    import threading
    import wmi
     
    class LoginDlg(QDialog):
     def __init__(self, parent=None):
      super(LoginDlg, self).__init__(parent)
     
      usr = QLabel("请选择抢购方式:")
      pwd = QLabel("请输入抢购时间:")
      self.lineEdit = QLineEdit("",self)
      self.lb0 = QLabel("请输入待抢购网址:", self)
      self.lbl = QLabel("等待选择抢购方案", self)
      self.lb2 = QLabel("机器码:", self)
      self.lb3 = QLabel("授权码:", self)
      self.lb4 = QLabel("(获取授权请加群:462510942)", self)
      self.lb5 = QLabel("(请勿更改机器码,否则无法授权)", self)
      self.lineEdit2 = QLineEdit("", self)
      self.lineEdit1 = QLineEdit("", self)
      self.combo = QComboBox(self)
      self.combo.addItem("0、请选择抢购方案")
      self.combo.addItem("1、加购物车")
      self.combo.addItem("2、不加购物车")
      self.combo.addItem("3、抢购优惠券")
     
      # self.lineEdit.move(200,100)
      self.lb0.move(50, 100)
      self.lbl.move(50, 150)
      self.lb2.move(50, 200)
      self.lb3.move(50, 250)
      self.lb4.move(250, 250)
      self.lb5.move(250, 200)
      self.lineEdit2.move(100, 200)
      self.lineEdit1.move(100, 250)
      self.setGeometry(300, 300, 300, 200)
      self.setWindowTitle('QComboBox')
      self.show()
      self.dateTimeEdit = QtWidgets.QDateTimeEdit()
      self.dateTimeEdit.setGeometry(QtCore.QRect(140, 50, 121, 22))
      self.dateTimeEdit.setDateTime(QtCore.QDateTime(QtCore.QDate(2018, 11, 1), QtCore.QTime(9, 0, 0)))
      self.dateTimeEdit.setObjectName("dateTimeEdit")
     
      gridLayout = QGridLayout()
      gridLayout.addWidget(usr, 0, 0, 1, 1)
      gridLayout.addWidget(pwd, 1, 0, 1, 1)
      gridLayout.addWidget(self.lb0, 2, 0, 1, 1)
      gridLayout.addWidget(self.combo, 0, 1, 1, 3)
      gridLayout.addWidget(self.dateTimeEdit, 1, 1, 1, 3)
      gridLayout.addWidget(self.lineEdit, 2, 1, 1, 3)
     
      sqBtn = QPushButton("授权")
      okBtn = QPushButton("确定")
      cancelBtn = QPushButton("关闭软件")
      btnLayout = QHBoxLayout()
     
      btnLayout.setSpacing(60)
      btnLayout.addWidget(okBtn)
      btnLayout.addWidget(cancelBtn)
      btnLayout.addWidget(sqBtn)
     
      dlgLayout = QVBoxLayout()
      dlgLayout.setContentsMargins(40, 40, 40, 40)
      dlgLayout.addLayout(gridLayout)
      dlgLayout.addStretch(40)
      dlgLayout.addLayout(btnLayout)
     
      self.setLayout(dlgLayout)
      okBtn.clicked.connect(self.accept)
      cancelBtn.clicked.connect(self.reject)
      sqBtn.clicked.connect(self.cpuid)
      self.setWindowTitle("VN辅助抢购软件")
      self.resize(600, 400)
     
      self.thread_handle = None
     
     def thread_function(self,index):
      # 需要在线程加一个全局变量的判断 用于终止死循环 用来切换方案
      data = self.cpuid1[2] + self.cpuid1[5] + min(self.cpuid1) + self.cpuid1[-5] + self.cpuid1[1] + self.cpuid1[3] + self.cpuid1[4] + max(self.cpuid1) + self.cpuid1[1] + \
    
        self.cpuid1[-1] + self.cpuid1[-3] + "V" + "N" + self.cpuid1[-2] + self.cpuid1[0] + self.cpuid1[-4]
      if self.lineEdit1.text() == data and self.lineEdit2.text() == self.cpuid1:
       if index==0:
        self.lbl.setText("请选择抢购方案,然后点击确定")
       elif index==1:
        self.lbl.setText("成功调用加购物车方案")
        self.gouwubuy()
       elif index==2:
        self.lbl.setText("成功调用不加购物车方案")
        self.buy()
       else:
        self.lbl.setText("成功调用抢券方案")
        self.quanbuy()
      else:
       self.lbl.setText("请输入正确的授权码")
     
     def accept(self):
      # 线程创建
      self.thread_handle = threading.Thread(target=LoginDlg.thread_function,args=(self,self.combo.currentIndex()))
      self.thread_handle.start()
      return
     
     def gouwubuy(self):
      browser.get("https://cart.taobao.com/cart.htm")
      # 点击购物车里全选按钮
      buyt = self.dateTimeEdit.text()
      buyti = re.findall(" (.*)",buyt)
      buytime = buyti[0]+":00.000000"
      while True:
       now = datetime.datetime.now().strftime('%H:%M:%S.%f')
       # 对比时间,时间到的话就点击结算
       if now > buytime:
        # 点击结算按钮
        try:
         if browser.find_element_by_id("J_Go"):
          browser.find_element_by_id("J_Go").click()
        except:
         pass
        try:
         if browser.find_element_by_link_text('提交订单'):
          browser.find_element_by_link_text('提交订单').click()
          now1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
          self.lbl.setText("提交订单时间为:%s"% now1)
        except:
         pass
     
     def buy(self):
      browser.get(self.lineEdit.text())
      while True:
       try:
        if browser.find_element_by_link_text('立即购买'):
         browser.find_element_by_link_text('立即购买').click()
       except:
        pass
       try:
        if browser.find_element_by_link_text('提交订单'):
         browser.find_element_by_link_text('提交订单').click()
         now1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
         self.lbl.setText("提交订单时间为:%s" % now1)
         break
       except:
        pass
     
     def quanbuy(self):
      browser.get(self.lineEdit.text())
      while True:
       now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
       # 对比时间,时间到的话就点击结算
       try:
        if browser.find_element_by_link_text('立刻抢'):
         browser.find_element_by_link_text('立刻抢').click()
       except:
        pass
       try:
        if browser.find_element_by_link_text('点击领券'):
         browser.find_element_by_link_text('点击领券').click()
       except:
        pass
     
     def cpuid(self):
      w = wmi.WMI()
      cpus = w.Win32_Processor()
      for u in cpus:
       self.cpuid1 = u.ProcessorId
       self.lineEdit2.setText(self.cpuid1)
     
    def login():
     # 打开淘宝登录页,并进行扫码登录
     browser.get("https://www.taobao.com")
     time.sleep(3)
     if browser.find_element_by_link_text("亲,请登录"):
      browser.find_element_by_link_text("亲,请登录").click()
     time.sleep(3)
     
    if __name__ == '__main__':
     browser = webdriver.Chrome()
     browser.maximize_window()
     login()
     app = QApplication(sys.argv)
     dlg = LoginDlg()
     dlg.show()
     dlg.exec_()
     app.exit()

    到此这篇关于python抢购软件/插件/脚本附完整源码的文章就介绍到这了,更多相关python抢购源码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Python中Pyenv virtualenv插件的使用
    • Python常用扩展插件使用教程解析
    • Python使用Chrome插件实现爬虫过程图解
    • 基于Python第三方插件实现西游记章节标注汉语拼音的方法
    • Python插件机制实现详解
    • 详解PyCharm安装MicroPython插件的教程
    • Python实现E-Mail收集插件实例教程
    • Python实现SQL注入检测插件实例代码
    • Python 带你快速上手 Apache APISIX 插件开发
    上一篇:Python 求向量的余弦值操作
    下一篇:python 制作磁力搜索工具
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python抢购软件/插件/脚本附完整源码 python,抢购,软件,插件,脚本,