Python自动化核心是requests/aiohttp、APScheduler/cron、pathlib、logging等模块的组合应用,需重视session复用、重试策略、路径处理、时区编码权限等运行时细节。
这标题没有实际信息量,不是学习路径,也不是技术问题,更不是可执行的命令或错误提示——它只是个营销包装的课程编号,对写代码、排错、调参毫无帮助。
真正支撑自动化系统的,是几个稳定、可组合、有明确边界的技术模块,不是按“第几讲”推进。关键在理解每个组件的职责和衔接方式:
requests 或 aiohttp 负责发请求,但必须配 session 复用和重试策略,否则爬得慢还容易被封schedule 适合简单定时,但生产环境该用 APScheduler(支持持久化、分布式唤醒)或直接上 cron + python -m
subprocess.run() 调外部命令比 os.system() 安全,但要注意 shell=True 带来的注入风险pathlib.Path,别再用 os.path.join() 拼字符串,跨平台路径问题会反复踩坑不是语法错,是没处理真实运行时的断裂点:
try/finally 或 with 清理,磁盘占满后整个系统卡死timeout 和 max_retries,网络抖动就阻塞住后续所有任务print(),没用 logging.basicConfig(level=logging.INFO),出问题时连时间戳都看不到Path(__file__).parent / "config.yaml",否则一打包成 pyinstaller 就找不到文件不是不会写逻辑,而是这些地方不显眼却决定成败:
datetime.now() 默认是本地时区,但服务器可能跑在 UTC;该用 datetime.now(timezone.utc) 或 pendulum.now("Asia/Shanghai")
pandas.read_csv(..., encoding="utf-8-sig"),否则 Windows 记事本存的文件开头有 BOM,列名带乱码subprocess 启动 Chrome,必须传 --no-sandbox,否则 PermissionError: [Errno 13]
import subprocess
result = subprocess.run(
["chromium-browser", "--headless", "--no-sandbox", "--dump-dom", "https://example.com"],
capture_output=True,
text=True,
timeout=15
)
if result.returncode != 0:
print("Chrome 执行失败:", result.stderr)
自动化不是堆功能,是把每个环节的“意外”提前写进代码里。越想让它全自动,越要花时间模拟它断网、磁盘满、进程被 kill 的样子。