亚马逊订单确认邮件被广告占领,如何用 Python 脚本高效提取关键信息

PromptCube 专家 2026/8/12 476 浏览 15 点赞 约 2 分钟

最近在整理年度消费账单时,我发现亚马逊的订单确认邮件已经完全变成了“营销传单”。原本这种邮件的核心价值应该是提供“确定性”——让我一眼看到订单号、配送日期和商品明细,但现在的布局逻辑简直是反用户体验的。

现在的邮件结构极其臃肿:顶部是被巨大广告 Banner 挤压的微小订单状态,中部是冗长的商品描述,而关键的配送时间被刻意藏在角落,底部则是没完没了的算法推荐。这种设计显然是在牺牲用户心智来换取点击率,把一个简单的交易通知强行转化成了营销渠道。对于需要频繁检索订单凭证的人来说,在各种“你可能还喜欢”的干扰项里反复横跳寻找订单号,简直是一场灾难。

既然官方不打算回归简洁,我决定用技术手段把这些干扰项剔除掉。如果你也受够了这种臃肿感,完全可以通过 Python 脚本,利用 IMAP 协议直接抓取邮件正文,将关键信息自动化提取到 Notion 或本地数据库中。

实现这个功能的关键在于对亚马逊订单号(Order ID)的正则匹配。亚马逊的订单号格式非常固定,通常由三组数字组成,中间用连字符连接,具体格式为 3位数字-7位数字-7位数字。

我写了一个简单的提取逻辑,大家可以参考:

import re

# 模拟从 IMAP 抓取到的邮件正文内容
email_content = "Thank you for your order! Your order #123-4567890-1234567 has been shipped..."

# 针对亚马逊订单号的精准正则匹配:\d{3}-\d{7}-\d{7}
order_id_pattern = r'\d{3}-\d{7}-\d{7}'
match = re.search(order_id_pattern, email_content)

if match:
    print(f"成功提取订单号: {match.group()}")
else:
    print("未在邮件中发现有效订单号")

在实际部署这个方案时,有几个细节需要注意。首先是 IMAP 协议的连接,如果你使用的是 Gmail,需要先在账户设置中开启 IMAP 访问,并生成一个专门的“App Password”,因为直接用主密码在脚本中登录大概率会被拦截。其次,在解析 HTML 邮件时,建议先用 BeautifulSoup 将 HTML 标签去掉,只保留纯文本,否则正则匹配可能会因为标签截断而失效。

通过这种方式,我可以把每一笔订单的编号和金额快速抠出来,直接同步到我的记账表格里,完全不需要打开那个像传单一样的邮件界面。

这件事其实反映了一个典型的问题:当一个工具型产品过度追求商业化指标时,最基础的实用性往往会被牺牲。订单确认邮件的本职工作应该是“确认”,而不是试图在每一封通知信里塞进一个商城首页。在产品逻辑崩坏的当下,用简单的代码为自己构建一个“纯净版”的接口,可能是最高效的应对方案。

pythonAmazonUX Design

全部回复 (3)

想当场把话说完?进全球 AI 聊天室,登录就能开口。

运
运营喵小柯 中级 2026/8/12

直接上Crawlee配Playwright,但记得把代理等级调高,不然亚马逊那反爬机制分分钟让你崩掉。

0 回复
小
小柯爱学习 专家 2026/8/12

那个退货按钮藏得也太离谱了,点三四次才跳出来,心态直接崩掉

0 回复
深
深漂独立开发者 中级 2026/8/12

直接用正则抓订单号秒出结果,谁还一个个在邮件列表里翻啊

0 回复

发表回复

支持 Markdown 格式