Explorar o código

完成人工定时

derrickx hai 1 ano
pai
achega
3718b673b5

BIN=BIN
__pycache__/app.cpython-311.pyc


BIN=BIN
__pycache__/litter_helper.cpython-311.pyc


+ 45 - 4
app.py

@@ -1,9 +1,11 @@
 import datetime
 import json
 import multiprocessing
+import os
 import random
 import re
 import sched
+import sys
 import threading
 import time
 import traceback
@@ -15,6 +17,11 @@ from tools import loggerKit, redis_client, file_writer
 from tools.utils import get_random_browser, get_external_ip, get_random_proxy_at_redis, save_all_proxy_ip, \
     save_all_proxy_ip_v2
 
+# 创建定时器对象
+scheduler = sched.scheduler(time.time, time.sleep)
+# 保存事件对象
+event = None
+
 """
 保留登陆账号的信息
 """
@@ -334,6 +341,23 @@ def get_ticket(account, passwd, target_url, single_proxy):
                     account, order_id, onetime_token_name, onetime_token_value)
 
                 file_writer.write_to_file(f'account: {account}, order_id: {order_id}, Order Ticket!!!')
+                # 写入票券信息到文件
+                write_ticket_info(account, order_id)
+
+
+# 写入票券信息到文件
+def write_ticket_info(account, order_id):
+    # 获取当前日期和时间
+    now = datetime.datetime.now()
+    # 创建文件夹
+    result_dir = 'results'
+    if not os.path.exists(result_dir):
+        os.makedirs(result_dir)
+    # 创建文件
+    file_name = now.strftime('%Y-%m-%d_%H') + '.txt'
+    file_path = os.path.join(result_dir, file_name)
+    with open(file_path, 'a+', encoding='utf-8') as f:
+        f.write(f'account: {account}, order_id: {order_id}\n')
 
 
 """
@@ -753,6 +777,7 @@ def run_daily_job(hour, minute):
 
 
 def run_manual_job(hour, minute, pocket_url):
+    global event
     # 获取当前日期和时间
     now = datetime.datetime.now()
     # 计算下次运行时间
@@ -762,14 +787,30 @@ def run_manual_job(hour, minute, pocket_url):
         run_time = run_time + datetime.timedelta(days=1)
     # 计算等待时间
     wait_time = (run_time - now).total_seconds()
-    # 创建定时器对象
-    scheduler = sched.scheduler(time.time, time.sleep)
-    # 添加定时任务
-    scheduler.enter(wait_time, 1, manual_job, argument=(pocket_url,))
+    # 添加定时任务,并保存事件对象
+    event = scheduler.enter(wait_time, 1, manual_job, argument=(pocket_url,))
     # 启动定时器
     scheduler.run()
 
 
+"""
+取消定时任务
+"""
+
+
+def cancel_manual_job():
+    sys.exit()
+
+
+"""
+停止下单
+"""
+
+
+def stop_order_job():
+    sys.exit()
+
+
 def looper_job():
     while 1:
         process_running(max_threads=1, pocket_url='https://t.livepocket.jp/e/l3im7')

+ 12 - 8
litter_helper.py

@@ -38,9 +38,9 @@ class Ui_menu(object):
         self.startPushButton = QtWidgets.QPushButton(self.centralwidget)
         self.startPushButton.setGeometry(QtCore.QRect(370, 210, 81, 26))
         self.startPushButton.setObjectName("startPushButton")
-        self.endPushButton = QtWidgets.QPushButton(self.centralwidget)
-        self.endPushButton.setGeometry(QtCore.QRect(500, 210, 81, 26))
-        self.endPushButton.setObjectName("endPushButton")
+        self.stopOrderPushButton = QtWidgets.QPushButton(self.centralwidget)
+        self.stopOrderPushButton.setGeometry(QtCore.QRect(500, 210, 81, 26))
+        self.stopOrderPushButton.setObjectName("stopOrderPushButton")
         self.accountsLabel = QtWidgets.QLabel(self.centralwidget)
         self.accountsLabel.setGeometry(QtCore.QRect(380, 90, 60, 16))
         self.accountsLabel.setObjectName("accountsLabel")
@@ -56,9 +56,12 @@ class Ui_menu(object):
         self.startTimePushButton = QtWidgets.QPushButton(self.centralwidget)
         self.startTimePushButton.setGeometry(QtCore.QRect(370, 150, 81, 26))
         self.startTimePushButton.setObjectName("startTimePushButton")
-        self.endTimePushButton = QtWidgets.QPushButton(self.centralwidget)
-        self.endTimePushButton.setGeometry(QtCore.QRect(500, 150, 81, 26))
-        self.endTimePushButton.setObjectName("endTimePushButton")
+        self.stopTimePushButton = QtWidgets.QPushButton(self.centralwidget)
+        self.stopTimePushButton.setGeometry(QtCore.QRect(500, 150, 81, 26))
+        self.stopTimePushButton.setObjectName("stopTimePushButton")
+        self.writeFilePushButton = QtWidgets.QPushButton(self.centralwidget)
+        self.writeFilePushButton.setGeometry(QtCore.QRect(190, 160, 81, 26))
+        self.writeFilePushButton.setObjectName("writeFilePushButton")
         menu.setCentralWidget(self.centralwidget)
         self.menubar = QtWidgets.QMenuBar(menu)
         self.menubar.setGeometry(QtCore.QRect(0, 0, 631, 24))
@@ -81,11 +84,12 @@ class Ui_menu(object):
         self.label_2.setText(_translate("menu", "开始时间:"))
         self.label_4.setText(_translate("menu", "并发数:"))
         self.startPushButton.setText(_translate("menu", "开始下单"))
-        self.endPushButton.setText(_translate("menu", "停止下单"))
+        self.stopOrderPushButton.setText(_translate("menu", "停止下单"))
         self.accountsLabel.setText(_translate("menu", "账号编辑"))
         self.watchPushButton.setText(_translate("menu", "查看结果"))
         self.ipPoolLabel.setText(_translate("menu", "IP池编辑"))
         self.loginPushButton.setText(_translate("menu", "登录账号"))
         self.startTimePushButton.setText(_translate("menu", "开始定时"))
-        self.endTimePushButton.setText(_translate("menu", "停止定时"))
+        self.stopTimePushButton.setText(_translate("menu", "停止定时"))
+        self.writeFilePushButton.setText(_translate("menu", "写入文件"))
         self.menuLittle_Helper.setTitle(_translate("menu", "Little Helper"))

+ 15 - 2
litter_helper.ui

@@ -96,7 +96,7 @@
      <string>开始下单</string>
     </property>
    </widget>
-   <widget class="QPushButton" name="endPushButton">
+   <widget class="QPushButton" name="stopOrderPushButton">
     <property name="geometry">
      <rect>
       <x>500</x>
@@ -174,7 +174,7 @@
      <string>开始定时</string>
     </property>
    </widget>
-   <widget class="QPushButton" name="endTimePushButton">
+   <widget class="QPushButton" name="stopTimePushButton">
     <property name="geometry">
      <rect>
       <x>500</x>
@@ -187,6 +187,19 @@
      <string>停止定时</string>
     </property>
    </widget>
+   <widget class="QPushButton" name="writeFilePushButton">
+    <property name="geometry">
+     <rect>
+      <x>190</x>
+      <y>160</y>
+      <width>81</width>
+      <height>26</height>
+     </rect>
+    </property>
+    <property name="text">
+     <string>写入文件</string>
+    </property>
+   </widget>
   </widget>
   <widget class="QMenuBar" name="menubar">
    <property name="geometry">

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 63 - 0
logs/spider-terminal_2024-06-29.log


+ 28 - 4
main.py

@@ -1,6 +1,7 @@
 import ctypes
 import sys
 import os
+import threading
 import time
 from datetime import datetime
 
@@ -8,7 +9,8 @@ from PyQt5.QtCore import Qt, QUrl, QDateTime
 from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QFileDialog, QMessageBox, QDateTimeEdit, QPushButton
 from PyQt5.QtGui import QDesktopServices
 
-from app import login_account, run_threading_order, run_daily_job, run_manual_job
+from app import login_account, run_threading_order, run_daily_job, run_manual_job, cancel_manual_job, stop_order_job, \
+    write_ticket_info
 from litter_helper import Ui_menu  # 确保这个导入路径是正确的
 from tools.utils import save_all_proxy_ip_v3
 
@@ -38,6 +40,18 @@ def get_resource_path(relative_path):
     return os.path.join(base_path, relative_path)
 
 
+# 停止定时任务
+def on_stop_time_button_click():
+    print(f"停止定时任务: {time.time()}")
+    cancel_manual_job()
+
+
+# 写入文件
+def on_write_file_button_click():
+    print(f"写入文件:{time.time()}")
+    write_ticket_info("abcd", "1234556")
+
+
 class MainWindow(QMainWindow, Ui_menu):
     def __init__(self, param1, param2):
         super().__init__()
@@ -58,12 +72,18 @@ class MainWindow(QMainWindow, Ui_menu):
         # 开始下单
         self.startPushButton.clicked.connect(self.on_start_button_click)
 
-        # 终止执行
-        self.endPushButton.clicked.connect(self.on_stop_button_click)
+        # 停止下单
+        self.stopOrderPushButton.clicked.connect(self.on_stop_button_click)
 
         # 定时开始
         self.startTimePushButton.clicked.connect(self.on_start_time_button_click)
 
+        # 停止定时任务
+        self.stopTimePushButton.clicked.connect(on_stop_time_button_click)
+
+        # 写入文件
+        self.writeFilePushButton.clicked.connect(on_write_file_button_click)
+
         # 编辑账号
         # 获取 QLabel 控件并替换为 ClickableLabel
         self.accountsLabel = self.findChild(QLabel, "accountsLabel")
@@ -181,7 +201,10 @@ class MainWindow(QMainWindow, Ui_menu):
             second = dt.second
 
             print(f"Hour: {hour}, Minute: {minute}, Second: {second}")
-            run_manual_job(hour, minute, net_url)
+
+            # 创建一个新的线程来运行 run_manual_job 函数
+            thread = threading.Thread(target=run_manual_job, args=(hour, minute, net_url))
+            thread.start()
         else:
             QMessageBox.warning(self, '警告', '请输入URL')
             return
@@ -189,6 +212,7 @@ class MainWindow(QMainWindow, Ui_menu):
     # 终止下单
     def on_stop_button_click(self):
         print(f"终止下单! 目标网址: {self.urlLineEdit.text()}")
+        stop_order_job()
 
     def edit_accounts(self):
         # 编辑账号

+ 1 - 0
results/2024-06-29-21.txt

@@ -0,0 +1 @@
+account: abcd, order_id: 1234556

+ 48 - 0
results/2024-06-29.txt

@@ -61,3 +61,51 @@ login account:aokimomo@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.vi
 login account:wi719@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20091, token: jAj8WCX7tA5I6C2OT0XPzMh6C9FbaEObvXsQ7Gwe 登录成功!!!
 login account:wang@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20317, token: MAC8QFcR2DVaB9Af9bpa9Z9kTuVKB3IZm30eU4Zp 登录成功!!!
 login account:teerwrw@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20586, token: IVQju2QSx8vqerCAFxWKwpLDSN8OHvMXs2FNH4E6 登录成功!!!
+login account:piaop@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20321, token: echrlxw8JFgGx6bAMq6ONYHMLBGzCPkXs9LxmWV6 登录成功!!!
+login account:zhnggg@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20109, token: JsTnOvCuM7eejdjI1izo06AbwwI1WvZzg9YqEPUG 登录成功!!!
+login account:576h0@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20017, token: vfgRoY8dHex8EFT86DCbuQzDcRHu3ZMkSLuH5ooz 登录成功!!!
+login account:mq693@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20168, token: Bjd9tybz3fzdFkUa06hb9mdns2lMqZy0BCm3ttX8 登录成功!!!
+login account:26e4b@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20511, token: lCLBUxHa7wx1Wjd6rELUMcvSkiMBdwlzEQhwoi3y 登录成功!!!
+login account:4l965@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20156, token: XQ67IFDnZiTAwuaF5xWF8jKppUrTcbmgnVtp3TMb 登录成功!!!
+login account:68r90@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20519, token: n8DHezfaKtqGj8236CF89LkjhwIGZKiwNjK2zXlB 登录成功!!!
+login account:7441188@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20404, token: cVHOu5l8xAnJ0Dm08e27OVauDpiABEul5E0QBNqF 登录成功!!!
+login account:7k6o2@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20108, token: H8k3laqE51hXzhhaCWHqaDagUCHJM7ON7tR9QCO8 登录成功!!!
+login account:b73cd@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20487, token: NvNN9dwvcxGRpgn5o8vup9RIbZigsQwCyzaoiURV 登录成功!!!
+login account:sato443jh2@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20055, token: gIhb85nHkX7LEK2o4h7L65LED0mL0V5O8TmpEkDD 登录成功!!!
+login account:117k@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20022, token: tm2dibRj6F2NWawk7USYOY2LgEYZ5kJ15BLu1945 登录成功!!!
+login account:896h2@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20013, token: SPPgVK8Edx2QgI1Di3J2zRsEgvY6TUYVcjigB3MW 登录成功!!!
+login account:s4817yos7@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20052, token: iGEqvgBZ7kwjivnFFEf9E51QzVPLP4bYVT56nKpu 登录成功!!!
+login account:wang@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20065, token: MAC8QFcR2DVaB9Af9bpa9Z9kTuVKB3IZm30eU4Zp 登录成功!!!
+login account:yoshinobuyos39@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20064, token: zd00MqLHFff5BYxIIr3Ssae4lUw7zV3aQ3xHvtQ0 登录成功!!!
+login account:teerwrw@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20024, token: IVQju2QSx8vqerCAFxWKwpLDSN8OHvMXs2FNH4E6 登录成功!!!
+login account:wi719@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20088, token: jAj8WCX7tA5I6C2OT0XPzMh6C9FbaEObvXsQ7Gwe 登录成功!!!
+login account:yos34@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20019, token: Pe8oYfUT3jt0dld8lrVRQ5waZlbuqLGxsR06gCPS 登录成功!!!
+login account:9441193@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20077, token: sDqF1QFzRjvjRozZDfP1qbMZF3ymMM6xB8aKsjZg 登录成功!!!
+login account:aoki@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20007, token: OHobvBP5U2RA0500EFTw0H0LMPDA4MNwQsviIvji 登录成功!!!
+login account:satmisauos25@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20023, token: EEC0BZFdft0b9Gvbph6F00nl72cRe8rG3EJcBL3G 登录成功!!!
+login account:876h1@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20018, token: xZFmSzFpzeVD4Q8sCRGoWMO55lYDYNnUWuoCVUOp 登录成功!!!
+login account:116k@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20079, token: r0DjUeMfJ4BVe5UhMlzcre663KiGQQTdxdO9gzkN 登录成功!!!
+login account:sa8721s18@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20048, token: zttary9413j7h4z3qZw8yd2YsDrvFV6Tm3D0rRlN 登录成功!!!
+login account:676h0@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20065, token: QwFxJP4XzY1FDpAF9jebdQKkLBP23WsZUmyX8zLh 登录成功!!!
+login account:g926m@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20047, token: w715hgiiocPA0KpUeXDw5lxrAS3wv2OvlgFTm06f 登录成功!!!
+login account:119k@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20044, token: KPWnz50irTb01JJ1V5OHuHLFNPxEuACq8CPbNrJA 登录成功!!!
+login account:sa853yos16@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20052, token: eNeqqC6nvuFfReXjPPSuePOumMOp9YfVoBta918e 登录成功!!!
+login account:masatoriyos37@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20089, token: i2yBQCL7U08v9Lp3sSXmepmt8vsQtJzLCwbjZybf 登录成功!!!
+login account:0482z@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20027, token: KrgUE7r721ztzw3n7oHz7EUXWWqrdoJEFw6skrqd 登录成功!!!
+login account:aokimomo@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20065, token: W4Ona35z8AZuCDTVuIoYyUNLGJ89cyazrBQ55aYp 登录成功!!!
+login account:115k@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20086, token: H3IetT1dmxmKN54P0urcBtwjcIg0BnBDtVklFEL2 登录成功!!!
+login account:118k@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20095, token: HLxYwJvB4h9nuQSRqc7BCxPotwwgQtKymY2oD87j 登录成功!!!
+login account:wang4@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20035, token: l1rxEb2G2CEYPsbURE6LkVBELbVnCnGs95kL8xNX 登录成功!!!
+login account:61f35@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20001, token: jGNfA1lcNXX3XVbA4kL3hwJxUOCRa45utCohwyKT 登录成功!!!
+login account:hua1111@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20018, token: LNOE5xkZJiSW1fZoO1hnVHGmXb3PZQgXVpoKJBUJ 登录成功!!!
+login account:r1xlk@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20065, token: qNtiV2ySvTkgLANlg6Jgrog1xJh6QWVUsZr1qRx4 登录成功!!!
+login account:satoys9@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20010, token: xXgXPWVdy9H3oJPOpjJNCWpslbGI3BmtAr8Er4GC 登录成功!!!
+login account:sanmieyos27@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20004, token: tSkLbQoIfCKzEtPQ5lzRH8FTMwyflPH7EIo9TMh9 登录成功!!!
+login account:1086a@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20031, token: tRAdI80C3xqRb3fK6Zt6oG3HcynaG5HjRL85uQej 登录成功!!!
+login account:snastoueos26@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20039, token: PWtLDBs54e8VkXQ4Ve2OqOUTsmWHcN44GBgPQoLm 登录成功!!!
+login account:nagoziyos38@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20065, token: cQh5ezOTHovrt7nwtnm4K4J17Bp7wlV1mQ7oirT1 登录成功!!!
+login account:nylo0@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20038, token: EiWxZM1j4JCllpjiRUG7eMFfRcTNYuVFctq8PsB8 登录成功!!!
+login account:zzzzdf@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20021, token: TAJKwY2XRPeizYyjXppyixgpMAXpkoCkp2hI1tmy 登录成功!!!
+login account:82y9o@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20041, token: KzI9X3D4olyeUXVUePoTmyVtEDNv3mpBKZWOYfLi 登录成功!!!
+login account:samatsueils28@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20032, token: nPbWld1kkjiL2MlkgpgZawiL2Oc8OqUrLT5gK606 登录成功!!!
+login account:o4qzc@huatcn.com, 代理IP:spnelh8q2c:panyue6411802~@gate.dc.visitxiangtan.com:20031, token: TnDAi4DTdfVO1iOqQFCG9pMsI0mLIucAjoXEoNBc 登录成功!!!

+ 1 - 0
results/2024-06-29_21.txt

@@ -0,0 +1 @@
+account: abcd, order_id: 1234556

+ 1 - 0
results/2024062921.txt

@@ -0,0 +1 @@
+account: abcd, order_id: 1234556

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio