跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

10 个实用的 Python 自动化办公脚本示例

介绍 10 个 Python 自动化脚本示例,涵盖网页解析、二维码扫描、截图、有声读物生成、PDF 编辑、命令行搜索、手机控制、硬件监控、社媒上传及视频水印等功能。内容包含代码实现、依赖安装及注意事项,旨在帮助开发者通过编程手段减少重复劳动,提升办公效率。使用时需注意安全性与合规性,避免硬编码敏感信息。

赛博朋克发布于 2025/2/7更新于 2026/7/1736 浏览
10 个实用的 Python 自动化办公脚本示例

在数字化办公时代,重复性任务占据了大量工作时间。利用 Python 编写自动化脚本,可以显著减少人工操作,提升工作效率。本文将介绍 10 个实用的 Python 自动化脚本示例,涵盖网页数据提取、多媒体处理、系统监控及移动端自动化等场景,并提供代码实现与注意事项。

1. 解析和提取 HTML

此脚本用于从网页 URL 中提取 HTML 内容并解析特定标签。适用于网络爬虫或需要抓取网页数据的场景。

依赖安装:

pip install gazpacho

代码实现:

import gazpacho

# 提取 HTML 内容
url = 'https://www.example.com/'
html = gazpacho.get(url)
print(html)

# 带请求头提取(模拟浏览器)
headers = {'User-Agent': 'Mozilla/5.0'}
html = gazpacho.get(url, headers=headers)
print(html)

# 解析 HTML
text = gazpacho.Soup(html)

# 查找单个标签
h1_tag = text.find('h1')
span_tag = text.find('span')

# 查找多个标签
paragraphs = text.find_all('p')
links = text.find_all('a')

# 按类名查找
class_tag = text.find('.class-name')

# 按属性查找
div_tag = text.find("div", attrs={"class": "test"})

# 提取文本内容
if h1_tag:
    print(h1_tag.text)

注意事项: 部分网站可能反爬,建议遵守 robots.txt 协议,避免高频请求。

2. 二维码扫描仪

该脚本可批量扫描本地二维码图片,适合处理大量图像数据的场景。

依赖安装:

pip install qrtools

代码实现:

from qrtools import Qr

def scan_qr(qr_img_path):
    qr = Qr()
    try:
        qr.decode(qr_img_path)
        return qr.data
    except Exception as e:
        print(f"解码失败:{e}")
        return None

result = scan_qr("qr.png")
if result:
    print(f"二维码内容:{result}")

3. 屏幕截图工具

支持全屏截图、区域截图及延时截图,可用于自动化测试或日志记录。

依赖安装:

pip install pyautogui Pillow

代码实现:

from pyautogui import screenshot
from PIL import ImageGrab
import time

def grab_full_screenshot():
    shot = screenshot()
    shot.save('full_screenshot.png')

def grab_area_screenshot(x, y, width, height):
    area = (x, y, x + width, y + height)
    shot = ImageGrab.grab(bbox=area)
    shot.save('area_screenshot.png')

def grab_delayed_screenshot(delay_seconds):
    time.sleep(delay_seconds)
    shot = screenshot()
    shot.save('delayed_screenshot.png')

# 使用示例
grab_full_screenshot()
# grab_area_screenshot(0, 0, 500, 500)
# grab_delayed_screenshot(5)

4. 创建有声读物

将 PDF 文档中的文本转换为语音文件,方便阅读长文档。

依赖安装:

pip install gTTS PyPDF2

代码实现:

from PyPDF2 import PdfReader
from gtts import gTTS
import os

def create_audiobook(pdf_path):
    reader = PdfReader(pdf_path)
    for i, page in enumerate(reader.pages):
        text = page.extract_text()
        if not text:
            continue
        tts = gTTS(text=text, lang='en')
        filename = f'page_{i}.mp3'
        tts.save(filename)
        print(f"已生成:{filename}")

create_audiobook('book.pdf')

5. PDF 编辑器

提供合并、删除、旋转页面等常用 PDF 编辑功能。

依赖安装:

pip install PyPDF2

代码实现:

from PyPDF2 import PdfReader, PdfWriter

def parse_text(pdf_path):
    reader = PdfReader(pdf_path)
    for i, page in enumerate(reader.pages):
        print(f"--- Page {i} ---")
        print(page.extract_text())

def remove_pages(pdf_path, pages_to_remove):
    reader = PdfReader(pdf_path)
    writer = PdfWriter()
    for i, page in enumerate(reader.pages):
        if i not in pages_to_remove:
            writer.add_page(page)
    with open('output_rm.pdf', 'wb') as f:
        writer.write(f)

def merge_pdfs(pdf_paths, output_path):
    writer = PdfWriter()
    for path in pdf_paths:
        reader = PdfReader(path)
        for page in reader.pages:
            writer.add_page(page)
    with open(output_path, 'wb') as f:
        writer.write(f)

# 使用示例
# merge_pdfs(['file1.pdf', 'file2.pdf'], 'merged.pdf')

6. 命令行版 Stack Overflow 查询

通过终端直接获取编程问题的解决方案,无需打开浏览器。

依赖安装:

pip install howdoi

使用示例:

howdoi how do i install python3
howdoi selenium Enter keys
howdoi Parse html with python
howdoi int not iterable error

7. 手机自动化脚本

利用 ADB (Android Debug Bridge) 控制安卓设备,执行点击、滑动等操作。

依赖安装:

pip install opencv-python

代码实现:

import subprocess

def run_adb_command(cmd):
    p = subprocess.Popen(cmd.split(' '), stdout=subprocess.PIPE, shell=True)
    output, _ = p.communicate()
    return output.decode('utf-8')

def swipe(x1, y1, x2, y2, duration=500):
    cmd = f'adb shell input swipe {x1} {y1} {x2} {y2} {duration}'
    return run_adb_command(cmd)

def tap(x, y):
    cmd = f'adb shell input tap {x} {y}'
    return run_adb_command(cmd)

def send_sms(number, message):
    cmd = f'adb shell am start -a android.intent.action.SENDTO -d sms:{number} --es sms_body "{message}"'
    return run_adb_command(cmd)

# 注意:使用前需开启 USB 调试并连接设备

8. 监控 CPU/GPU 温度

通过编程方式读取硬件传感器数据,适用于服务器监控或游戏性能分析。

依赖安装:

pip install pythonnet

*注:需安装 OpenHardwareMonitor 软件并加载驱动。

代码实现:

import clr
clr.AddReference("OpenHardwareMonitorLib")
from OpenHardwareLib import Computer

spec = Computer()
spec.CPUEnabled = True
spec.GPUEnabled = True
spec.Open()

def get_cpu_temp():
    if len(spec.Hardware) > 0:
        hw = spec.Hardware[0]
        for sensor in hw.Sensors:
            if "Temperature" in str(sensor.SensorType):
                if sensor.Value is not None:
                    return sensor.Value
    return None

# 持续监控示例
while True:
    temp = get_cpu_temp()
    if temp:
        print(f"CPU Temp: {temp}°C")
    # 添加休眠避免占用过高资源
    # time.sleep(1)

9. Instagram 上传机器人

自动上传图片或视频到社交媒体平台。

依赖安装:

pip install instabot

代码实现:

from instabot import Bot

def upload_photo(img_path):
    bot = Bot()
    # 安全提示:请勿在生产环境硬编码密码
    bot.login(username="your_username", password="your_password")
    bot.upload_photo(img_path, caption="Auto Posted")
    print("Photo Uploaded")

def upload_video(video_path):
    bot = Bot()
    bot.login(username="your_username", password="your_password")
    bot.upload_video(video_path, caption="Auto Posted")
    print("Video Uploaded")

# 注意:频繁操作可能导致账号被封禁,请谨慎使用

10. 视频水印工具

为视频文件添加文字水印,保护版权或标识来源。

依赖安装:

pip install moviepy

代码实现:

from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip

def add_watermark(input_video, output_video):
    clip = VideoFileClip(input_video)
    
    text_clip = TextClip('WaterMark', font='Arial', color='white', fontsize=28)
    text_clip = text_clip.set_duration(clip.duration)
    text_clip = text_clip.set_pos(('center', 'bottom'))
    
    final = CompositeVideoClip([clip, text_clip])
    final.write_videofile(output_video, fps=30, codec='libx264')

add_watermark('myvideo.mp4', 'output.mp4')

总结与建议

上述脚本覆盖了办公自动化中常见的数据处理、系统交互及媒体处理需求。在使用时请注意以下几点:

  1. 安全性:涉及账号登录的脚本(如 Instagram),切勿将密码硬编码在代码中,建议使用环境变量管理敏感信息。
  2. 合规性:自动化操作应遵守目标平台的服务条款,避免滥用导致封号风险。
  3. 错误处理:生产环境中应增加异常捕获机制,防止脚本因网络波动或文件缺失而崩溃。
  4. 性能优化:对于循环处理大量文件的场景,建议增加异步处理或批处理逻辑以提升效率。

通过合理运用这些工具,开发者可以将繁琐的手工操作转化为自动化流程,从而专注于更高价值的创造性工作。

目录

  1. 1. 解析和提取 HTML
  2. 提取 HTML 内容
  3. 带请求头提取(模拟浏览器)
  4. 解析 HTML
  5. 查找单个标签
  6. 查找多个标签
  7. 按类名查找
  8. 按属性查找
  9. 提取文本内容
  10. 2. 二维码扫描仪
  11. 3. 屏幕截图工具
  12. 使用示例
  13. grabareascreenshot(0, 0, 500, 500)
  14. grabdelayedscreenshot(5)
  15. 4. 创建有声读物
  16. 5. PDF 编辑器
  17. 使用示例
  18. merge_pdfs(['file1.pdf', 'file2.pdf'], 'merged.pdf')
  19. 6. 命令行版 Stack Overflow 查询
  20. 7. 手机自动化脚本
  21. 注意:使用前需开启 USB 调试并连接设备
  22. 8. 监控 CPU/GPU 温度
  23. 持续监控示例
  24. 9. Instagram 上传机器人
  25. 注意:频繁操作可能导致账号被封禁,请谨慎使用
  26. 10. 视频水印工具
  27. 总结与建议
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • C++ 红黑树实现与优化详解
  • JuiceSSH 配合 cpolar 实现手机远程连接 Linux
  • 按下 F5 后,浏览器前端究竟发生了什么?
  • Ruoyi-AI 企业级智能平台 5 步快速搭建指南
  • 基于 YOLOv5 的深度学习火焰检测与识别系统
  • Go2 机器人 ROS2 与 Gazebo 仿真环境搭建实战
  • FPGA 与 DSP 协同通信系统实战解析
  • C++ 模板初阶:泛型编程基础
  • .NET 集成 GoView 低代码可视化大屏实战指南
  • Python 副业开发方向与核心技能学习路线
  • 基于高阶控制障碍函数的端到端无人机高速避障方法
  • OpenClaw 环境搭建、模型配置与 WebUI 远程访问指南
  • OpenClaw 安装与飞书机器人配置实战指南
  • WebCode 与 Clawdbot:AI 助手框架深度对比
  • 前端代码可读性优化实践
  • Java 自定义等级字符串比较逻辑分析
  • VSCode Copilot 登录失败常见原因与高效解决方案
  • FPGA 系统架构设计与 OTA 升级实践
  • 使用 Docker 部署 n8n 并启用 Python Native 节点
  • 基于 CMake 与 C++ 的海康网络摄像头 SDK 开发实战

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online