如何在 Windows 上部署 Python 脚本进行自动化截图上传到百度网盘

在本文中,我们将介绍如何在 Windows 上部署一个 Python 脚本,自动化截图当前活动窗口并将截图上传到百度网盘。这个脚本使用了 bypy、pygetwindow 和 Pillow 库,能够帮助你自动上传特定窗口的截图,非常适合需要定期上传截图的任务。

一、安装 Python 环境

首先,确保你的计算机上已安装 Python。如果没有安装,请按以下步骤操作:

访问 Python 官方下载页面(https://www.python.org/downloads/)。
下载适用于 Windows 的 Python 版本(推荐下载 Python 3.x 版本)。
在安装过程中,务必勾选“Add Python to PATH”选项,以便在命令行中方便使用 Python。

二、安装所需的依赖库

1.接下来,我们需要安装 Python 脚本所依赖的第三方库。打开命令提示符(或 PowerShell),并执行以下命令来安装:

代码如下:

pip install bypy pygetwindow pillow

这些库分别用于:

bypy:与百度网盘进行交互,上传文件。
pygetwindow:获取当前活动窗口的标题和其他相关信息。
Pillow:用于截取当前活动窗口的截图。

三、配置百度网盘 API

代码如下:

使用 bypy 库时,第一次运行脚本时,它会要求你进行 OAuth 授权。按照提示完成授权操作。

四、编写和运行脚本

将以下 Python 脚本复制到 .py 文件中(例如:screenshot_uploader.py):

import time
import pygetwindow as gw
from PIL import ImageGrab
import bypy
from datetime import datetime

def capture_screenshot():
    # 获取当前活动窗口
    active_window = gw.getActiveWindow()
    if active_window:
        title = active_window.title
        bbox = (active_window.left, active_window.top, active_window.left + active_window.width, active_window.top + active_window.height)
        # 判断活动窗口标题中是否包含"微信"
        if '微信' in title.lower():
            # 截取活动窗口内容并返回
            screenshot = ImageGrab.grab(bbox)
            return screenshot
    return None  # 如果没有活动窗口或不是微信窗口,则返回 None

def upload_to_baidu_netpan(file_path):
    # 初始化百度网盘 API 客户端
    client = bypy.ByPy()
    # 获取当前时间并格式化为文件名的一部分
    timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
    filename = f'{timestamp}.png'  # 使用 timestamp 生成文件名
    client.upload(file_path, filename)

def main():
    while True:
        # 只在微信窗口为当前活动窗口时截取屏幕
        screenshot = capture_screenshot()
        if screenshot:
            file_path = "screenshot.png"
            # 保存截图
            screenshot.save(file_path)
            # 上传到百度网盘
            upload_to_baidu_netpan(file_path)
        else:
            print("当前不是微信窗口,跳过截图。")
        # 每隔 2 秒检查一次
        time.sleep(2)

if __name__ == "__main__":
    main()


五、运行脚本

运行脚本:
打开命令提示符,进入到脚本所在的目录,然后运行:

python screenshot_uploader.py

成功截图(如果双屏的话,请把被截图程序(如wx)放到主屏测试,否则会出现黑屏)
成功图片

注意事项

后台运行:你可以将脚本作为后台程序运行,让它持续监控并自动截取截图。为了让脚本在启动时自动运行,可以将它添加到 Windows 任务计划中。
停止脚本:如果需要停止脚本,只需在命令行窗口中按下 Ctrl + C。


总结——抛砖引玉

本文介绍了如何在 Windows 环境下使用 Python 自动截取活动窗口的截图并上传到百度网盘。通过安装必要的库,配置百度网盘 API,并编写一个简单的 Python 脚本,你就可以轻松实现这个自动化任务。如果你有任何问题,欢迎在评论区留言,我们将一起探讨解决方案。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐