羊毛软件更新,集成联通的py程序

爱必应

网友xmaj2008分享:
集成py代码原作者
http://aibing.cc/thread-7455385-1-1.html
仅负责集成,更新随机

需要win7以上64位系统,不支持32位。
自己使用,不保证能够运行。

地址忘掉了
链接: https://pan.baidu.com/s/18cePf_7s7AFvgCwlmEGusQ 提取码: 8nuw 复制这段内容后打开百度网盘手机App,操作更方便哦

软件截图:

羊毛软件更新,集成联通的py程序-图1

羊毛软件更新,集成联通的py程序-图2

使用说明:
抓取cookie 填入cookie文本框内,点击登录,如果手机号码没错就不用管
选择需要购买的物品
点击开始

自动刷新间隔,公众版本无效,默认5s刷新一次。

代码源码,供参考。

  1. class autoTab(QtWidgets.QWidget):
  2.     def __init__(self,name=’Auto_Tab’,tabel_dict={},parent=None):
  3.         super(autoTab, self).__init__(parent)
  4.         self.tabName = name
  5.         self.tabel_dict = tabel_dict
  6.         self.setObjectName("tab")
  7.         self.gridLayout_3 = QtWidgets.QGridLayout(self)
  8.         self.gridLayout_3.setObjectName("gridLayout_3")
  9.         self.groupBox = QtWidgets.QGroupBox(self)
  10.         self.groupBox.setObjectName("groupBox")
  11.         self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
  12.         self.gridLayout_2.setObjectName("gridLayout_2")
  13.         self.label = QtWidgets.QLabel(self.groupBox)
  14.         self.label.setObjectName("label")
  15.         self.gridLayout_2.addWidget(self.label, 1, 0, 1, 2)
  16.         spacerItem = QtWidgets.QSpacerItem(71, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
  17.         self.gridLayout_2.addItem(spacerItem, 2, 0, 1, 1)
  18.         self.lineEdit = QtWidgets.QLineEdit(self.groupBox)
  19.         self.lineEdit.setObjectName("lineEdit")
  20.         self.gridLayout_2.addWidget(self.lineEdit, 1, 2, 1, 2)
  21.         self.pushButton = QtWidgets.QPushButton(self.groupBox)
  22.         self.pushButton.setObjectName("pushButton")
  23.         self.gridLayout_2.addWidget(self.pushButton, 2, 1, 1, 2)
  24.         spacerItem1 = QtWidgets.QSpacerItem(124, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
  25.         self.gridLayout_2.addItem(spacerItem1, 2, 3, 1, 1)
  26.         self.textEdit = QtWidgets.QTextEdit(self.groupBox)
  27.         self.textEdit.setObjectName("textEdit")
  28.         self.gridLayout_2.addWidget(self.textEdit, 0, 0, 1, 4)
  29.         self.gridLayout_3.addWidget(self.groupBox, 0, 0, 3, 1)
  30.         self.textBrowser_2 = QtWidgets.QTextBrowser(self)
  31.         self.textBrowser_2.setObjectName("textBrowser_2")
  32.         self.gridLayout_3.addWidget(self.textBrowser_2, 2, 1, 2, 1)
  33.         self.textBrowser = QtWidgets.QTextBrowser(self)
  34.         self.textBrowser.setObjectName("textBrowser")
  35.         self.gridLayout_3.addWidget(self.textBrowser, 1, 1, 1, 1)
  36.         self.groupBox_2 = QtWidgets.QGroupBox(self)
  37.         self.groupBox_2.setObjectName("groupBox_2")
  38.         self.gridLayout = QtWidgets.QGridLayout(self.groupBox_2)
  39.         self.gridLayout.setObjectName("gridLayout")
  40.         spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
  41.         self.gridLayout.addItem(spacerItem2, 0, 0, 1, 1)
  42.         self.pushButton_2 = QtWidgets.QPushButton(self.groupBox_2)
  43.         self.pushButton_2.setObjectName("pushButton_2")
  44.         self.gridLayout.addWidget(self.pushButton_2, 2, 5, 1, 1)
  45.         self.lineEdit_2 = QtWidgets.QLineEdit(self.groupBox_2)
  46.         self.lineEdit_2.setObjectName("lineEdit_2")
  47.         self.gridLayout.addWidget(self.lineEdit_2, 0, 5, 1, 1)
  48.         self.label_2 = QtWidgets.QLabel(self.groupBox_2)
  49.         self.label_2.setObjectName("label_2")
  50.         self.gridLayout.addWidget(self.label_2, 0, 2, 1, 1)
  51.         self.comboBox = QtWidgets.QComboBox(self.groupBox_2)
  52.         self.comboBox.setObjectName("comboBox")
  53.         self.gridLayout.addWidget(self.comboBox, 2, 0, 1, 3)
  54.         self.gridLayout_3.addWidget(self.groupBox_2, 3, 0, 1, 1)
  55.         _translate = QtCore.QCoreApplication.translate
  56.         self.groupBox.setTitle(_translate("Form", "Cookie"))
  57.         self.label.setText(_translate("Form", "电话号码:"))
  58.         self.pushButton.setText(_translate("Form", "登录"))
  59.         self.groupBox_2.setTitle(_translate("Form", "自动下单"))
  60.         self.label_2.setText(_translate("Form", "自动刷新间隔:"))
  61.         self.pushButton_2.setText(_translate("Form", "开始"))
  62.         self.pushButton.clicked.connect(self.login)
  63.         self.pushButton_2.clicked.connect(self.auto_order)
  64.         self.comboBox.currentIndexChanged.connect(self.gen_order_data)
  65.         self.startOrder = True
  66.         self.timer = QTimer()  # 初始化定时器
  67.         self.timer.timeout.connect(self.order)        
  68.         self.count = 0
  69.         try:
  70.             with open(‘cookie.str’,’r’,encoding=’utf-8′) as f:
  71.                 cookie = f.readline()
  72.             self.textEdit.setText(cookie)
  73.         except Exception as e:
  74.             print(e)
  75.     def get_cookie_dict(self,cookie_str):
  76.         cookie_dict = {}
  77.         for tmp_str in cookie_str.split(‘;’):
  78.             tmp_str = tmp_str.strip()
  79.             cookie_dict[tmp_str.split(‘=’)[0]] = tmp_str.split(‘=’)[1]
  80.         self.cookie_dict = cookie_dict
  81.         return cookie_dict
  82.     def login(self):
  83.         try:
  84.             cookie_str = self.textEdit.toPlainText()
  85.             cookie_dict = self.get_cookie_dict(cookie_str)
  86.             url = "https://m.client.10010.com/welfare-mall-front-activity/mobile/activity/get619Activity/v1?whetherFriday=YES"
  87.             header = {"User-Agent":"Mozilla/5.0 (Linux;Android 10;GM1910) AppleWebKit/\
  88.                                             537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36; \
  89.                                             unicom{version:android@7.0500}"}   
  90.             r = requests.get(url,cookies=cookie_dict,headers=header,timeout=3)
  91.             print(r.text)
  92.             self.respon = r
  93.             self.lineEdit.setText(cookie_dict[‘u_account’])
  94.             #self.textBrowser.setText(r.text)
  95.             with open(‘cookie.str’,’w’,encoding=’utf-8′) as f:
  96.                 f.write(cookie_str)
  97.             self.get_goodsList()
  98.         except Exception as e:
  99.             print(e)
  100.             r = ”
  101.             self.textBrowser.setText(str(e))
  102.         return r   
  103.     def get_goodsList(self):
  104.         unifrigoodsq1 = self.respon.json()
  105.         unifriactL1 = unifrigoodsq1["resdata"]["activityList"]
  106.         unifrigoodsnl1 = []
  107.         unifrigoodsnl11 = []
  108.         unifrigoodsidl1 = []
  109.         unifripaypril1 = []
  110.         unifrigoodsbtl1 = []
  111.         a = 0
  112.         unifristate1 = {"10":"立即抢购","20":"去查看","30":"无法抢购","40":"已抢光","50":"未开始"}
  113.         for b in range(0,len(unifriactL1)):
  114.             for i,goods in enumerate(unifriactL1[b]["goodsList"],a+1):
  115.                 unifrigoodsnl11.append(str(i)+" "+unifriactL1[b]["navClock"]+\
  116.                                                     unifristate1.get(goods["state"])+" "+goods["goodsName"])
  117.                 unifrigoodsnl1.append(goods["goodsName"])
  118.                 nowdate1 = time.strftime("%Y-%m-%d",time.localtime(int(time.time())))
  119.                 actLtimes1 = int(time.mktime(time.strptime(nowdate1+" "+unifriactL1[b]["navClock"]+":00",
  120.                                         "%Y-%m-%d %H:%M:%S"))*1000)
  121.                 unifrigoodsbtl1.append(actLtimes1)
  122.             a = i
  123.             for goods in unifriactL1[b]["goodsList"]:
  124.                 unifrigoodsidl1.append(goods["goodsId"])
  125.             for goods in unifriactL1[b]["goodsList"]:
  126.                 unifripaypril1.append(goods["price"]+"0")
  127.         if re.findall(r"fourNineGoodsList",str(unifrigoodsq1),flags=re.I) != []:
  128.             for i,goods in enumerate(unifrigoodsq1["resdata"]["fourNineGoodsList"],i+1):
  129.                 unifrigoodsnl11.append(str(i)+" "+unifristate1.get(goods["state"])+" "+goods["goodsName"])
  130.                 unifrigoodsnl1.append(goods["goodsName"])
  131.             for goods in unifrigoodsq1["resdata"]["fourNineGoodsList"]:
  132.                 unifrigoodsidl1.append(goods["goodsId"])
  133.             for goods in unifrigoodsq1["resdata"]["fourNineGoodsList"]:
  134.                 unifripaypril1.append(goods["price"]+"0")
  135.         unifrigoodsn1 = "\n".join(unifrigoodsnl11)
  136.         print(unifrigoodsq1["msg"]+"\n\n"+unifrigoodsn1)  
  137.         self.textBrowser.setText(unifrigoodsq1["msg"]+"\n\n"+unifrigoodsn1)
  138.         self.goods_infos = {‘names’:unifrigoodsnl1,’stauts’:unifrigoodsnl11,’ids’:unifrigoodsidl1,’price’:unifripaypril1,’startTime’:unifrigoodsbtl1}
  139.         self.comboBox.addItems(self.goods_infos[‘names’])
  140.     def gen_order_data(self):
  141.         try:
  142.             index = int(self.comboBox.currentIndex())
  143.             unifrigoodsid1 = self.goods_infos[‘ids’][index]
  144.             unifripaypri1 = self.goods_infos[‘price’][index]
  145.             rechangeno1 = self.lineEdit.text()
  146.             unifrigoodsbt1 = self.goods_infos[‘startTime’][index]
  147.             unifridata1 = ‘reqsn=&reqtime=&cliver=&reqdata={"goodsId":"%s","payWay":"01",\
  148.                         "amount":"%s","reChangeNo":"%s","saleTypes":"C","points":"0","beginTime":"%s",\
  149.                         "imei":"undefined","sourceChannel":"","proFlag":"","scene":"","pormoterCode":"",\
  150.                         "maxcash":"","floortype":"undefined"}’%(unifrigoodsid1,unifripaypri1,rechangeno1,unifrigoodsbt1)
  151.             self.orderData = unifridata1
  152.             self.textBrowser_2.setText(unifridata1)
  153.         except Exception as e:
  154.             print(e)
  155.             self.textBrowser_2.setText(str(e))
  156.     def auto_order(self):
  157.         try:
  158.             self.count = 0
  159.             if self.startOrder == True:
  160.                 self.pushButton_2.setText(‘停止’)
  161.                 self.order()
  162.                 tm = int(self.lineEdit_2.text())
  163.                 self.timer.start(tm)
  164.                 self.startOrder = False
  165.             else:
  166.                 self.pushButton_2.setText(‘开始’)
  167.                 self.startOrder = True
  168.                 self.timer.stop()
  169.         except:
  170.             try:
  171.                 self.count = 0
  172.                 if self.startOrder == True:
  173.                     self.pushButton_2.setText(‘停止’)
  174.                     self.order()                    
  175.                     self.timer.start(5000)
  176.                     self.startOrder = False
  177.                 else:
  178.                     self.pushButton_2.setText(‘开始’)
  179.                     self.startOrder = True
  180.                     self.timer.stop()  
  181.             except Exception as e:         
  182.                 print(e)
  183.                 self.textBrowser_2.setText(str(e))
  184.                 self.auto_order()               
  185.     def order(self):
  186.         self.count += 1
  187.         self.gen_order_data()
  188.         headers = {"User-Agent":"Mozilla/5.0 (Linux;Android 10;GM1910) AppleWebKit/\
  189.                     537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36; \
  190.                     unicom{version:android@7.0500}"}
  191.         unifriorderj1 = requests.post("https://m.client.10010.com/welfare-mall-front/mobile/api/bj2402/v1",
  192.                                                 headers=headers,params=self.orderData,cookies=self.cookie_dict,
  193.                                                 timeout=3).json()
  194.         unifriorders1 = unifriorderj1["msg"]   
  195.         self.textBrowser_2.setText(‘次数:’+str(self.count)+’\n’+unifriorders1)     

复制代码

网友cbpdcyy分享:
牛逼了~

网友davidge分享:
软件呢

网友13yaosan分享:
mkj

网友蒋礼貌分享:
?没有下载地址吗

网友红尘娇娃分享:
软件何处有?

网友davidge分享:


软件何处有?

把酒问青天

网友aiyouwei分享:
看不懂表示一脸懵逼的飘过

网友xmaj2008分享:
更新地址了,刚刚忘掉了

网友caz346705931分享:
牛皮

网友pujie1216分享:

其实这些小软件打包成32位通用就行了,64位很浪费而且还可能不通用

网友benyu921分享:
1

原文链接:,转发请注明来源!

发表评论