最近帮朋友搭建了一个自动化财经新闻推送系统,记录一下完整的搭建过程和踩坑经验。文章比较长,但都是实战干货,希望对有类似需求的朋友有帮助。

背景需求
朋友想要一个每天早上自动推送财经新闻到企业微信的机器人,具体要求:
- 每天9点(后来改成10:35)自动执行
- 抓取财经新闻并用AI总结
- 发送到企业微信
听上去不复杂?但实际搭建过程中遇到了不少坑...
第一步:发现定时任务不执行
朋友说9点的定时任务没发送。我检查了一下:
问题在哪?
检查后发现:macOS的cron守护进程根本没有运行。从macOS某个版本开始,苹果用launchd替代了cron,但cron服务默认是禁用的。
第二步:解决定时执行问题
两种方案:
1. 用launchd配置(较复杂)
2. 用OpenClaw的cron功能(更简单)
我选择了后者,因为朋友已经在用OpenClaw。
搞定!每天10:35自动执行。
第三步:优化新闻脚本
第一次测试发现几个问题:
- 日期显示是昨天的(应该显示当天)
- 只给了7条新闻(要10条)
- 没有发布时间
修改代码解决了这些问题。
第四步:增加分类总结和股票价格
朋友要求:
1. 分类总结(第1~5条中东局势、券商美联储政策等)
2. 新闻中提到的股票
3. 文末附上固定关注的股票(腾讯、网易、巨人、拼多多、英伟达、小米)
第五步:股票价格获取的坑
这是最大的坑!
代码里用了akshare来获取股票价格,但一直报错 ModuleNotFoundError。
原因:系统默认的Python没有安装akshare。
解决:用户告诉我正确的路径 - Python:/opt/anaconda3/bin/python3
修改脚本shebang和cron任务,使用anaconda的Python。
第六步:格式优化
最后应朋友要求:
1. 去掉 ##、** 等markdown符号(企业微信不支持)
2. 添加大盘指数兜底
3. 设置手动触发指令「财经新闻NOW」
最终效果
每天10:35,企业微信自动收到完整的财经新闻推送。手动发送「财经新闻NOW」也能立即收到。
未来可以做的
这套架构可以扩展很多场景:
- 天气提醒
- 邮件提醒
- 日程提醒
- 语音播报
- 其他自动推送
总结
- macOS默认禁用了cron,用OpenClaw的cron更方便
- Python环境问题很常见,一定要确认用哪个Python
- akshare是强大的财经数据库,值得研究
- 企业微信Webhook适合做简单推送
- 微信可以直接给指令,大模型完成任务
有问题欢迎评论区交流!觉得有用点个赞 👍
夜雨聆风