python调用API自动化脚本核心三步:发请求、处理响应、集成任务流;首选requests库,需设timeout、加重试、Token刷新、日志记录,并接入crontab或任务计划程序。

用Python调用API接口做自动化脚本,核心就三步:发请求、处理响应、集成进任务流。关键不是写多炫的代码,而是稳、准、可维护。
选对工具:requests 是首选
别折腾 urllib 或 http.client,requests 简洁可靠,社区支持强,错误提示也友好。安装只要一行:
pip install requests
基础调用示例(GET 请求):
import requests <p>url = "<a href="https://www.php.cn/link/46b315dd44d174daf5617e22b3ac94ca">https://www.php.cn/link/46b315dd44d174daf5617e22b3ac94ca</a>" headers = {"Authorization": "Bearer your_token"} response = requests.get(url, headers=headers, timeout=10)</p><p>if response.status_code == 200: data = response.json() print(data.get("message")) else: print(f"请求失败:{response.status_code} - {response.text}")
常见请求类型怎么写
实际脚本里不只 GET,POST 提交表单、PUT 更新、delete 删除都得会:
立即学习“Python免费学习笔记(深入)”;
- POST 提交 json 数据:用
json=参数,自动设 Content-Type 为 application/json - POST 表单数据:用
data=,传字典,自动编码为 x-www-form-urlencoded - 带文件上传:用
files=,如{"file": open("report.pdf", "rb")} - 带查询参数(URL 后 ?xxx=yyy):用
params=字典,requests 自动拼接
让脚本真正“自动化”的关键细节
光能调通 API 不算完,生产级脚本得扛住现实问题:
- 加 timeout:永远别用默认无限等待,一般 5~15 秒够用,超时捕获
requests.Timeout - 重试机制:网络抖动很常见,用
urllib3.util.Retry或第三方tenacity库自动重试 3 次 - Token 自动刷新:如果用 OAuth2,检查响应是否含
"Error": "invalid_token",触发重新登录或刷新流程 - 日志记录而非 print:用
Logging记下请求 URL、状态码、耗时,方便排查
和定时任务或工作流结合
脚本写好后,要让它定期跑起来:
- linux/macOS:用 crontab,比如每天早上 8 点执行:
0 8 * * * /usr/bin/python3 /path/to/script.py >> /var/log/api_sync.log 2>&1 - windows:用任务计划程序,触发器设为“按预定计划”,操作选“启动程序”指向 python.exe 和脚本路径
- 进 CI/CD 或 Airflow:封装成函数,加单元测试(mock requests),再接入调度系统
基本上就这些。不复杂但容易忽略——尤其是超时和重试。写完先手动跑通,再加日志,最后扔进定时任务,稳了。