首页 > 教程攻略 > ai资讯 >Grok自动排程任务:利用脚本实现定时调用与数据导出

Grok自动排程任务:利用脚本实现定时调用与数据导出

来源:互联网 时间:2026-06-15 13:36:39

说一个常见需求:让Grok模型每天凌晨3点自动跑一次,把返回的JSON结果存成带时间戳的CSV文件,全程不用人工盯着。听起来很酷,实际操作起来其实就三步——准备好Python环境、写一个调度脚本、用系统定时任务去触发。下面直接上干货。

Grok自动排程任务:利用脚本实现定时调用与数据导出

你需要让Grok模型每天凌晨3点自动执行一次排程任务,并将返回的JSON结果保存为带时间戳的CSV文件,整个流程不能依赖人工干预。

准备Python运行环境与依赖安装

先把基础环境搞对。确认系统上装了Python 3.9或更高版本,终端里跑一下python --version就能看到版本号。如果连pip包管理器都还没装,也别慌,执行下面这条命令就能装好:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python get-pip.py

接下来安装两个关键库:requestsschedule。直接一行搞定:

pip install requests schedule

这里提醒一句:千万别把pippip3混着用,要确保当前pip指向的是Python 3.9+的解释器,否则后续脚本会因为requests不兼容而静默失败——这种坑踩过的人都知道有多烦。

编写Grok调用与CSV导出脚本

新建一个文件,命名为grok_scheduler.py,把下面的代码贴进去保存就行。操作很简单,但有一处必须手动替换:代码中"Bearer xxx"里的xxx,要换成你在x.ai官方申请的真正API密钥。忘了这步的话,脚本永远返回401错误,别问我是怎么知道的。

```python
import requests
import csv
import json
from datetime import datetime
import os

def call_grok_and_export():
    url = "https://api.x.ai/v1/chat/completions"
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer 【替换为你的真实x.ai API密钥】"
    }
    payload = {
        "model": "grok-beta",
        "messages": [{"role": "user", "content": "生成今日排程:列出3项高优先级任务,每项含标题、起止时间、预计耗时(分钟)"}],
        "temperature": 0.3
    }
    try:
        res = requests.post(url, headers=headers, json=payload, timeout=60)
        res.raise_for_status()
        data = res.json()
        choices = data.get("choices", [])
        if not choices:
            raise ValueError("API返回无有效响应")
        content = choices[0]["message"]["content"]
        # 假设Grok返回的是结构化文本,用简单规则提取字段
        rows = []
        for line in content.strip().split("n"):
            if "标题:" in line or "任务:" in line:
                title = line.split(":")[1].strip()
                rows.append([title, "", ""])
        timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
        filename = f"grok_schedule_{timestamp}.csv"
        with open(filename, "w", newline="", encoding="utf-8") as f:
            writer = csv.writer(f)
            writer.writerow(["任务标题", "时间段", "耗时(分钟)"])
            writer.writerows(rows)
        print(f"✅ 已导出:{filename}")
    except Exception as e:
        print(f"❌ 调用失败:{e}")

if __name__ == "__main__":
    call_grok_and_export()
```

脚本的逻辑很直接:向Grok API发请求,拿到返回的文本内容,按行解析出任务标题,然后写入CSV文件,文件名自带时间戳,方便后续归档。

配置Linux定时任务(crontab)

Linux下用crontab是最经典的方案。一步一步来:

第一步:运行 crontab -e 进入编辑模式。

第二步:在文件末尾新增一行(注意路径一定要用

绝对路径

):
0 3 * * * cd /your/script/path && /usr/bin/python3 grok_scheduler.py >> /your/script/path/grok_cron.log 2>&1

这里的/your/script/path要换成grok_scheduler.py实际所在的目录,否则cron找不到文件时会直接静默跳过,你连错误日志都看不到。

第三步:按Esc → 输入:wq → 回车保存退出。

第四步:验证一下cron是否生效。先运行 crontab -l 查看刚添加的行是否存在;再手动触发一次测试:
cd /your/script/path && /usr/bin/python3 grok_scheduler.py
如果看到终端输出✅提示并生成了CSV文件,就说明一切正常。

Windows平台替代方案(Task Scheduler)

Windows用户有两个选择:图形界面或命令行,随便挑一个顺手的。

方法一:使用任务计划程序图形界面

打开“任务计划程序”,点击右侧“创建基本任务”,命名为“Grok每日排程”,触发器选“每天”,时间设为03:00,操作选“启动程序”。程序脚本填python.exe(如果Python已加入系统PATH),参数栏填C:path ogrok_scheduler.py,起始于填脚本所在文件夹的完整路径。

方法二:用PowerShell命令一键注册

以管理员身份打开PowerShell,执行下面这条命令:

Schtasks /Create /SC DAILY /TN "Grok每日排程" /TR "python C:path ogrok_scheduler.py" /ST 03:00 /F

这条命令要求python已经加入系统PATH,否则你需要把python替换成完整的解释器路径,比如C:UsersXXXAppDataLocalProgramsPythonPython311python.exe。注意:路径中的反斜杠要用双反斜杠或正斜杠,否则可能被转义掉。