神剑山庄资源网 Design By www.hcban.com
距上篇关于淘宝抢购源码的文章已经过去五个月了,五个月来我通过不停的学习,掌握了更深层的抢购技术及原理,而上篇文章中我仅分享了关于加入购物车的商品的抢购源码,且有部分不足。
博主不提供任何服务器端程序,也不提供任何收费抢购软件。该文章仅作为学习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()
神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com
暂无python抢购软件/插件/脚本附完整源码的评论...
更新日志
2024年11月06日
2024年11月06日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]