定时截屏服务
import os import time from datetime import datetime from fastapi import FastAPI from apscheduler.schedulers.background import BackgroundScheduler import pyautogui from PIL import Image app = FastAPI() # 确保截图保存目录存在 os.makedirs("screenshots", exist_ok=True) def capture_screenshot(): """截屏并保存到本地""" timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") filename = f"screenshots/screenshot_{timestamp}.png" try: # 使用 pyautogui 截屏 screenshot = pyautogui.screenshot() screenshot.save(filename) print(f"Screenshot saved: {filename}") except Exception as e: print(f"Error capturing screenshot: {e}") # 初始化定时任务调度器 scheduler = BackgroundScheduler() scheduler.add_job(capture_screenshot, "interval", minutes=1) # 每分钟执行一次 scheduler.start() @app.on_event("shutdown") def shutdown_event(): """关闭应用时停止调度器""" scheduler.shutdown() @app.get("/") def read_root(): return {"message": "FastAPI 定时截屏服务运行中"} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=5050)