冬至这节气,在北方是吃饺子,在南方是吃汤圆,在我这儿是 300 封定制邮件和 50 份顺丰快递单。仪式感?对,用 Python 写的。
去年这时候我还在手动整理客户名单,复制粘贴祝福语,复制到眼瞎。今年不行了,团队养了五个人,成本摆在那儿,我得把“人情”也自动化,榨出每一分效率。脚本的核心逻辑很简单:读取客户数据库,根据“合作深度”、“地域”、“今年成交额”三个维度打分,生成不同档位的祝福语和礼品方案。北方客户礼品里加一盒东阿阿胶,南方客户加一盒桂花糕,预算严格控制在 200 元/人以内。
难点从来不在逻辑,在细节。比如礼品采购,我试过用 Selenium 爬某东,结果人家反爬升级,商品页面 DOM 结构一变,脚本就废了。最后老老实实找了本地一家礼品公司的 API,虽然品类少点,但稳定。发邮件也是坑,企业邮箱有发送频率限制,一秒一封都可能会被判定为垃圾邮件。我开了三个阿里云的企业邮箱轮询发,中间还得随机 sleep 几秒,模拟人工操作。最骚的是快递单,顺丰的 API 对接文档看得我头疼,字段多如牛毛,还得处理地址清洗(有些客户留的地址连个“省”字都没有),批量下单时有一个地址错误整批都会卡住。我写了个异常捕获,把有问题的单子自动拎出来,丢到一个待处理队列,第二天让助理手动核对。
昨晚脚本跑起来了。我坐在电脑前,看着终端里一行行 “Sending to: xxx@xxx.com… OK” 和 “SF Order Created: SF1234567890” 往上刷,心里没有温情,只有一种冰冷的掌控感。34 岁了,人情世故变成了一串可以调试的代码。老婆说我越来越像个机器,我说不对,机器不会在祝福语模板里,给那个今年帮我介绍了三个大单的老李,单独加一句“嫂子包的饺子,啥时候再去蹭一顿”。
脚本跑完,统计报表生成:298 封邮件发送成功,2 封失败(邮箱失效);48 份快递下单成功,2 份待处理。成本:礼品加快递,总计 9367.4 元。我关掉电脑,心想,这大概就是一个中年技术商人能给出的,最务实的“仪式感”了。
省下来的时间,我给自己煮了碗速冻饺子。醋还没倒,手机响了,是老李。他微信上发来一段语音,点开,是他家孩子的笑声,后面跟着他有点喝高的声音:“兄弟,礼收到了!你说你,整这么客气…那桂花糕我老婆吃了,说比本地买的还细!明年,明年那项目,还找你!” 我放下手机,吃了一口饺子,没蘸醋,居然也觉得有点滋味。
你看,代码是冷的,但跑出来的结果,终究是热的。只是这热乎气,得先经过一堆异常处理和数据清洗。














