当前位置: 首页 > article >正文

PT站点自动签到

在站点下载一些视频电影资源,站点需要长期维护,每天自动签到。

两种方式:

一、保持浏览器登录状态,打开默认用户文件, 模拟点击签到(点击按钮自行设置:根据href名称) log日志 首次配置文件,后续不用再填写

二、打开浏览器网页用油猴自动签到

第一种地址:

自动打开网页点击PT站点签到 | 曹福磊 | Caofulei Blog

第二种:

import os
import schedule
import time
import sys
import configparser
import datetime
import threading
import subprocess
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout, QTimeEdit, QTextEdit
from PyQt5.QtCore import QTime

CONFIG_FILE = "config.ini"

def open_edge(url):
    subprocess.Popen(['start', 'msedge', url], shell=True)

def close_edge():
    subprocess.call(['taskkill', '/f', '/im', 'msedge.exe'])

def job(urls):
    for url in urls:
        open_edge(url)
    time.sleep(600)  # 等待10分钟
    close_edge()

def schedule_job(hour, minute, urls):
    schedule.clear()  # 清除之前的任务
    schedule.every().day.at(f"{hour:02d}:{minute:02d}").do(job, urls)
    print(f"Scheduled job at {hour:02d}:{minute:02d} for URLs: {', '.join(urls)}")

def start_scheduler():
    while True:
        schedule.run_pending()
        time.sleep(1)

def load_config():
    config = configparser.ConfigParser()
    config.read(CONFIG_FILE)
    if 'settings' in config:
        urls = config['settings'].get('urls', '').split('\n')
        time_str = config['settings'].get('time', '08:00')
        hour, minute = map(int, time_str.split(':'))
        return urls, QTime(hour, minute)
    return [], QTime.currentTime()

def save_config(urls, time):
    config = configparser.ConfigParser()
    config['settings'] = {
        'urls': '\n'.join(urls),
        'time': time.toString('HH:mm')
    }
    with open(CONFIG_FILE, 'w') as configfile:
        config.write(configfile)

class SchedulerApp(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('定时网页打开器')
        self.setGeometry(100, 100, 600, 300)

        layout = QVBoxLayout()

        time_layout = QHBoxLayout()
        time_label = QLabel('每天执行时间:')
        self.time_edit = QTimeEdit()
        self.time_edit.setDisplayFormat('HH:mm')
        urls, time = load_config()
        self.time_edit.setTime(time)
        time_layout.addWidget(time_label)
        time_layout.addWidget(self.time_edit)
        layout.addLayout(time_layout)

        url_layout = QHBoxLayout()
        url_label = QLabel('网页链接 (每行一个):')
        self.url_edit = QTextEdit()
        self.url_edit.setText('\n'.join(urls))
        url_layout.addWidget(url_label)
        url_layout.addWidget(self.url_edit)
        layout.addLayout(url_layout)

        submit_button = QPushButton('提交')
        submit_button.clicked.connect(self.on_submit)
        layout.addWidget(submit_button)

        self.setLayout(layout)

    def on_submit(self):
        time = self.time_edit.time()
        hour = time.hour()
        minute = time.minute()
        urls = self.url_edit.toPlainText().split('\n')
        schedule_job(hour, minute, urls)
        save_config(urls, time)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    ex = SchedulerApp()
    ex.show()

    scheduler_thread = threading.Thread(target=start_scheduler, daemon=True)
    scheduler_thread.start()

    sys.exit(app.exec_())


http://www.kler.cn/a/526518.html

相关文章:

  • MATLAB中extractAfter函数用法
  • Vue.js路由管理与自定义指令深度剖析
  • 《LLM大语言模型+RAG实战+Langchain+ChatGLM-4+Transformer》
  • (笔记+作业)书生大模型实战营春节卷王班---L0G2000 Python 基础知识
  • [Java]泛型(一)泛型类
  • 360大数据面试题及参考答案
  • 2025数学建模美赛|赛题翻译|F题
  • 「 运动控制 」结构控制网络(Structured Control Network, SCN) ——多策略融合的高效控制架构
  • 高精度加法乘法
  • 详解python的修饰符
  • 数科OFD证照生成原理剖析与平替方案实现
  • 大一计算机的自学总结:位运算实现加减乘除
  • 用BGP的路由聚合功能聚合大陆路由,效果显著不?
  • rust如何操作sqlserver
  • 每日 Java 面试题分享【第 17 天】
  • 18、智能驾驶芯片外部接口要求
  • SpringBoot中运行Yolov5程序
  • 前端知识速记—JS篇:null 与 undefined
  • Linux实操篇-文件目录类>/>>/echo/head/tail/ln/history
  • leetcode-分割等和子集
  • Java中 instanceof 的用法(详解)
  • 安卓(android)饭堂广播【Android移动开发基础案例教程(第2版)黑马程序员】
  • 谭浩强C语言程序设计(4) 8章(上)
  • deepseek R1 14b显存占用
  • 【Block总结】HWD,小波下采样,适用分类、分割、目标检测等任务|即插即用
  • 【Block总结】CAA捕获远程上下文信息,增强特征提取的能力|即插即用