免费定时运行Python程序并存储输出文档的服务推荐
以下是几种可以免费定时运行Python程序并存储输出结果的云服务方案:
1. PythonAnywhere
特点:
- 提供免费的Python托管环境
- 支持定时任务(cron)
- 有持久化存储空间(免费账户500MB)
- 可以直接运行Python脚本
使用方法:
- 注册免费账户
- 上传你的Python脚本
- 在"Tasks"设置定时任务
- 输出文件会保存在你的账户空间中
限制:
- 免费账户每天CPU时间有限 (只有可怜的100秒)
- 网络访问受限(不能访问某些端口)(笔者尝试访问AKShare API 被禁用)
2. Google Colab + Google Drive
特点:
- 免费Jupyter笔记本环境
- 可以连接Google Drive存储输出
- 可以使用cron-job.org等外部服务触发
设置方法:
- 将脚本写成Colab笔记本
- 使用!pip install安装依赖
- 输出保存到Google Drive
- 用cron-job.org定时访问笔记本URL触发
3. GitHub Actions
特点:
- 完全免费(有一定限额)
- 可以设置定时任务
- 可以将输出保存为artifact或提交到仓库
示例. github/workflows/run.yml:
name: ETF Analysis
on:
schedule:
- cron: '0 18 * * 1-5' # 工作日每天18:00 UTC运行
workflow_dispatch:
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.9'
- name: Install dependencies
run: |
pip install akshare pandas
- name: Run analysis
run: python etf_analysis.py
- name: Upload results
uses: actions/upload-artifact@v2
with:
name: etf-results
path: output/
4. Replit + Cron-job.org
组合方案:
- 在Replit.com上创建免费Python项目
- 使用cron-job.org定时访问Replit的web端点触发脚本
- 输出保存到Replit的文件系统或连接的外部存储
5. Railway.app (免费额度)
特点:
- 提供免费额度
- 可以部署Python应用
- 有持久化存储
- 支持cron式定时任务
免费存储备选解决方案
对于输出文档存储,可以考虑:
- Google Drive/Dropbox:通过API自动上传
- GitHub仓库:用Git命令自动提交结果
- AWS S3免费层:每月5GB存储
- Mega.nz:免费50GB存储