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

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

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-
#made in white-night
#coding=utf-8import re
from PyQt5.QtWidgets import *
import sys
from PyQt5 import QtCore, QtWidgets
from selenium import webdriver
import datetime
import time
import threading
import wmiclass 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 = Nonedef 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()returndef 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:passtry: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:passdef 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:passtry: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)breakexcept:passdef 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:passtry:if browser.find_element_by_link_text('点击领券'):browser.find_element_by_link_text('点击领券').click()except:passdef cpuid(self):w = wmi.WMI()cpus = w.Win32_Processor()for u in cpus:self.cpuid1 = u.ProcessorIdself.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()

19年3月1日更新,本文章仅供学习交流使用,博主不提供任何收费抢购工具。

python抢购软件/插件/脚本附完整源码相关推荐

  1. Python:实现doomsday末日算法(附完整源码)

    Python:实现doomsday末日算法 DOOMSDAY_LEAP = [4, 1, 7, 4, 2, 6, 4, 1, 5, 3,

  2. Python:实现Julia集算法(附完整源码)

    Python:实现Julia集算法 import warnings from collections.abc import Callable from typing import Anyimport ...

  3. python:实现红黑树算法(附完整源码)

    python:实现红黑树算法 from __future__ import annotations from collections.abc import Iterator class RedBlac ...

  4. python:实现连接mysql数据库(附完整源码)

    python:实现连接mysql数据库 可以使用Python的mysql-connector库实现连接MySQL数据库.以下是一个简单的源代码示例: import mysql.connector# 连 ...

  5. Python:实现scoring评分算法(附完整源码)

    Python:实现scoring评分算法 def procentual_proximity(source_data: list[list[float]], weights: list[int] ) - ...

  6. python:实现叠加图片(附完整源码)

    python:实现叠加图片 import PIL.Image as Imagelayer1 = Image.open("1.jpg").convert('RGBA') # 底图背景 ...

  7. python:实现IIR 滤波器算法(附完整源码)

    python:实现IIR 滤波器算法 from __future__ import annotationsclass IIRFilter:def __init__(self, order: int) ...

  8. Python:实现sobel边缘检测算法(附完整源码)

    Python:实现sobel边缘检测算法 # coding=gbk import cv2 img = cv2.imread("1.jpg", 0) x = cv2.Sobel(im ...

  9. python:实现EEMD算法(附完整源码)

    python:实现EEMD算法 import numpy as np from PyEMD import EEMD, EMD, Visualisation import pylab as plt de ...

  10. Python:实现knapsack背包问题算法(附完整源码)

    Python:实现knapsack背包问题算法 def MF_knapsack(i, wt, val, j):global F # a global dp table for knapsackif F ...

最新文章

  1. java现有一个泛型类 提供数组排序功能,java编程思想读书笔记 第十六章 数组
  2. 优化你的CPU来做深度学习
  3. 每个人都应该懂点函数式编程
  4. 百(垃)度(圾)之星初赛B hdu6114
  5. mysql8.0导入备份_mysql8.0.20配合binlog2sql的配置和简单备份恢复的步骤详解
  6. Python 柱状图 横坐标 名字_Python气象绘图教程(四)
  7. Android动画系列 - PropertyAnim 详解
  8. GBase 8a MPP Cluster管理工具---“GBaseDataStudio”
  9. C10K问题—高并发网络IO模型
  10. 如何使用计算机模拟,手把手教你电脑手机模拟器MuMu模拟器怎么使用
  11. php图片颤抖,如何实现图片抖动效果
  12. 按键精灵学习如何偷菜示例基本代码
  13. matlab中调用simulink,MATLAB中的simulink是做什么的?说的通俗简单点 如何在matlab中打开simulink...
  14. Laravel5.4中文分词搜索-使用 Laravel Scout,Elasticsearch,ik 分词(三)
  15. CAD修改文字(网页版)
  16. 在Vue中将单独一张图片设为背景图并充满整个屏幕
  17. Linux中的setenv与export
  18. 智能存储 | 视频增强“全家桶”,为您的视频快速“换脸”
  19. mysql 在线热备_MySQL 热备份实现
  20. 关于谷歌浏览器崩溃,打不开页面

热门文章

  1. 远程如何重装linux系统,独立服务器远程重装Linux系统
  2. html制作调色板,JS实现系统调色板
  3. 搜狗站长工具:索引量与收录量的解释,它等同于site的收录吗?
  4. SQL中分组,排序,分组排序
  5. 开关稳压集成电路电源
  6. 论文Re-ranking Person Re-identification with k-reciprocal Encoding(person re-id的re-ranking)
  7. Windows注册表详解
  8. 如何卸载PLC200软件---SETP7
  9. 微信小程序的总结(我学到了什么?我有了哪些成就?)
  10. 让更多的开发者听到您的声音,移动开发征文活动现已开始 | 开发者说·DTalk