17370845950

如何使用python写自动化脚本?
明确自动化目标后选择合适库,如用os/shutil处理文件、Selenium操作网页、requests+BeautifulSoup抓取数据、APScheduler定时任务、smtplib发送邮件,编写脚本时注意异常处理与日志记录,从小任务开始测试并优化。

写自动化脚本的关键是明确你要自动化的任务,然后用 Python 调用合适的库来完成。Python 语法简洁,生态丰富,特别适合写各种自动化脚本,比如文件处理、网页操作、定时任务、数据抓取等。

1. 明确自动化目标

在动手前先想清楚你希望自动化什么:

  • 批量重命名文件?
  • 自动填写网页表单?
  • 定时发送邮件或备份数据?
  • 从网站提取信息(爬虫)?

不同的任务需要不同的工具和方法。

2. 常见自动化场景及对应库

根据任务类型选择合适的 Python 库:

文件与目录操作

使用 osshutil 模块处理文件和文件夹:

import os
import shutil

批量重命名文件

for filename in os.listdir("."): if filename.endswith(".txt"): newname = "backup" + filename os.rename(filename, new_name)

网页自动化

Selenium 模拟浏览器操作:

from selenium import webdriver

driver = webdriver.Chrome() driver.get("https://www./link/b05edd78c294dcf6d960190bf5bde635") element = driver.find_element("name", "q") element.send_keys("Python 自动化") element.submit() driver.quit()

安装:pip install selenium,记得下载对应浏览器的驱动。

网络请求与数据抓取

requests 发送 HTTP 请求,配合 BeautifulSoup 解析 HTML:

import requests
from bs4 import BeautifulSoup

response = requests.get("https://www./link/b05edd78c294dcf6d960190bf5bde635") soup = BeautifulSoup(response.text, 'html.parser') titles = soup.find_all("h1") for title in titles: print(title.text)

安装:pip install requests beautifulsoup4

定时执行任务

sched 或系统工具如 cron(Linux/macOS)或任务计划程序(Windows),也可以用 APScheduler

from apscheduler.schedulers.blocking import BlockingScheduler

def job(): print("执行自动化任务")

sched = BlockingScheduler() sched.add_job(job, 'interval', minutes=10) sched.start()

安装:pip install apscheduler

发送邮件

使用 smtplibemail 模块自动发邮件:

import smtplib
from email.mime.text import MIMEText

msg = MIMEText("这是自动发送的邮件内容") msg["Subject"] = "自动化提醒" msg["From"] = "you@example.com" msg["To"] = "to@example.com"

with smtplib.SMTP("smtp.example.com") as server: server.login("you@example.com", "password") server.send_message(msg)

3. 编写和运行脚本

将代码保存为 .py 文件,例如 auto_task.py,然后在终端运行:

python auto_task.py

建议加入异常处理和日志记录,让脚本更稳定:

import logging
logging.basicConfig(level=logging.INFO)

try:

你的自动化逻辑

logging.info("任务成功完成")

except Exception as e: logging.error(f"出错了: {e}")

4. 小贴士

  • 先小范围测试脚本,避免误操作大量数据。
  • 不要硬编码密码,可用环境变量或配置文件管理敏感信息。
  • 复杂的流程可以拆分成函数,提高可读性和复用性。

基本上就这些。选对工具,理清流程,Python 写自动化脚本并不难。关键是动手尝试,从一个小任务开始。