> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 我用Claude Code提取航班数据
- URL: https://www.hubwiz.com/blog/i-used-claude-code-to-extract-flight-data-from-gmail/
- Published: 2026-02-26T06:20:18.000Z
- Updated: 2026-02-26T06:20:18.000Z
- Description: 一个Claude Code会话代替了数小时的行政工作。
- Author: admin
- Tags: TOOL, CLAUDE CODE, #Import 2026-10-14 14:41

在使用任何工具之前，我想象了手动版本会涉及什么。

> 打开每封邮件。找到出发航班日期。找到返回日期。记下目的地。将往返航程配对，这些有时在同一个预订中，有时不在。计算缺席天数，记住出发和返回日期不算，只计算中间的完整天数。将其记录到电子表格中。重复。

对于一个充满预订确认邮件的收件箱，每封邮件一两分钟，很容易累积一个多小时或更长时间的细致、容易出错的工作。认知负荷不仅仅是时间，它是为了避免配对错误的航班或转置日期所需的持续注意力。这是一种单次分心就意味着重新开始的任务。

可行。但这并不是我想花费晚上的方式。我相当确定有更好的方式，而且可能是更愉快的方式。

我是一个有点技术性的产品经理，但仍然不是开发人员。如果我自己从头开始编写脚本来做这件事，在这么短的时间内是不可能的。我将不得不花费大量时间学习和查阅事情。使用Claude Code，所有这些都是不必要的。

## 1、向Claude Code描述问题

对于那些不认识Claude Code的人，它是一个在终端中运行的AI编码助手：一个文本窗口，你直接向计算机输入命令，而不是通过图形界面点击。它是目前可用的几种编码代理之一。其他的在浏览器中运行，最初感觉更熟悉。Claude Code在本地运行，这给了它对你的文件和环境更直接的访问。

你描述你想要构建什么，它编写代码、运行代码、读取错误、修复错误并迭代，所有这些都在一个单一的对话中。它还可以读取文件、搜索网络、运行命令并在整个项目上执行多步骤任务。你不需要知道如何自己编写代码。你可以清楚地描述一个问题。对于简单的任务，你完全可以在没有任何技术背景的情况下走很长的路。对于更复杂的任务，愿意与正在构建的东西参与会有所帮助。如果你询问，Claude Code将解释你不理解的任何内容。

在编写任何代码之前，我通常花几条消息就方法达成一致，这降低了走错方向的风险。我的开场提示是这样的：

> *我需要从Gmail提取我所有的Ryanair航班数据。我正在申请英国公民身份，需要计算过去五年中我每次离开英国的时间。我想要一个脚本，连接到Gmail，找到自2021年以来我所有的Ryanair预订确认邮件，提取出发日期、返回日期和目的地，将单独的航班归类为完整的行程，按照英国移民局规则计算每个行程的缺席天数，并输出一个干净的CSV，我可以在填写表格时引用。在我们开始编写之前，让我们对方法达成一致。*

从那里我们有简短的来回确认几个细节：如何处理往返航班单独预订并落在不同电子邮件中的行程，以及输出格式应该采用什么。一旦我们就方法达成一致，Claude Code编写了整个脚本。

它清晰地规划和构建了解决方案：使用Gmail API直接从Google的服务器读取电子邮件，使用预订参考号将航班归类为行程，并在运行摘要旁边输出结构化的CSV（与电子表格兼容的文件）。

## 2、连接到Gmail

要以编程方式读取电子邮件，你需要通过Google设置访问凭证，本质上告诉Google你的脚本有权限读取你的收件箱。如果你以前没有做过这件事，Claude Code可以逐步引导你完成，如果自上次有人编写指南以来事情发生了变化，你可以分享你看到的截图，它会适应。涉及的步骤包括创建一个Google Cloud项目、启用Gmail API和下载凭证文件。

在连接完全工作之前，我必须做几处调整，但每次我都能向Claude Code显示错误信息，我们共同工作解决问题。

## 3、在读取一封邮件之前的三个错误

在连接完全工作之前出现了三个独立的问题。

第一，访问被阻止。我的Gmail地址没有作为测试用户添加到Google Cloud设置中。一旦Claude Code将我指向控制台中的正确位置，就迅速修复了。

第二，第一次真正的连接尝试上出现了身份验证错误。脚本没有以Google期望的方式处理登录流程。Claude Code通过阅读错误信息确定了原因，并重写了那部分。我不需要了解技术细节，只需确认修复是有意义的。

第三，Gmail访问本身没有为项目开启。在Cloud Console中的另一个一键修复，由Claude Code通过阅读错误输出发现。

三个错误，三个修复。这通常就是阻止人们的原因。每个错误都需要你知道在哪里看以及它意味着什么。在这里，我向Claude Code（或任何AI编码工具）展示我正在看到的内容，它告诉我该做什么。

## 4、另一个波折：找到83封电子邮件，提取0次行程

第一次运行成功连接并找到了所有83封电子邮件。但它返回了零次行程。不是错误。只是没有提取任何内容。在构建任何新事物时，这很常见。AI通常善于读取输出并解决为什么事情不起作用的原因。

我分享了一张真实的Ryanair预订确认邮件的截图。Claude Code阅读了它，并识别了实际电子邮件看起来与解析器所期望的三个具体不匹配。

第一，日期。Ryanair使用两位数的年份格式：`23 Dec 25`而不是`23 Dec 2025`。解析器正在搜索不存在的内容。

第二，机场代码。电子邮件将它们用括号包裹：`(STN) - (LIS)`表示从斯坦斯特德到里斯本。解析器正在查找没有括号的代码。

第三，预订参考标签。Ryanair电子邮件使用`Reservation:`而不是`Booking ref:`。

一次修复，一次重新运行：41封预订确认电子邮件被解析（剩余的42封是营销信息和服务通知），提取了18次行程。

两位数的年份值得注意。如果没有截图可供查看，AI可能会花费很长时间追逐那种不匹配。分享实际电子邮件使其立即可见。

## 4、三个被标记为不匹配的行程

三次行程被标记为不匹配。为15次行程找到了返回航班，但这三次没有。原因是那些行程是作为两个单独的交易预订的，因此往返航班具有不同的预订参考。

修复是一个后备规则：对于任何不匹配的返程航班，找到随后的航班返回到英国机场，无论预订参考如何。所有三次都解决了。

其中一次涉及飞往里斯本并从波尔图返回，作为单独预订，正确识别为单次缺席。

## 5、结果

```
找到的行程：       18
总缺席天数：    86
5年限制：      450天
剩余：         364天

```

剩余是我被允许在英国度过直到达到五年期限之前的天数，然后我申请。

以下是输出看起来像的几个示例行：

![Image](https://www.hubwiz.com/blog/content/images/2026/02/1-tO_2KOINEUEFl0e1rqu5Ww.png)

包含航班、目的地、日期和在英国外总天数示例的表格

行程5是一个多城市的示例：飞往里斯本，从波尔图返回，作为两次交易预订，正确解析为单次十天的缺席。行程8跨越了新年，于2024年1月1日返回，在两个日历年中正确计算了九天。

所有18次行程都解决了。一个CSV文件，准备好与我的电子邮件确认进行交叉引用。整个会话花费的时间比手动处理前二十封电子邮件要少。

## 6、这意味着什么

像这样的任务已经存在工具，包括AI驱动的工具。如果你想要托管解决方案，你可能会找到一个。但如果你更喜欢精确地为你的问题构建一些东西，或者不想添加另一个订阅，像Claude Code这样的工具是一个令人信服的替代品，而且进入障碍比过去更低。

对于开发人员来说，这种工具是一个重要的倍增器：他们可以比以前更快地构建、跨更多语言和API。对于那些不是开发人员但愿意与正在构建的东西参与的人来说，它打开了一类以前无法获得的工作。你不需要了解像OAuth这样的东西（让第三方脚本安全访问你的Google账户的身份验证协议），然后你就可以开始。你可以在进行过程中学习你需要了解的东西，Claude Code解释你询问的任何内容。

我认为这不是作为任何东西的替代品最有用，而是作为达到原本不会发生的情况的一种方式。

这个问题的范围有所帮助。这是一个定义明确、包含的问题：特定的电子邮件格式、清晰的输出要求、单一的数据源。它快速且直接。

如果你愿意花时间理解正在构建什么，即使在表面层面上，也会产生回报。询问解释、仔细检查输出、学习何时使用第二个模型或手动检查：这些习惯比你的技术知识的深入程度更重要。你参与得越多，你可以构建的越多。

## 7、想要自己做吗？

对于非技术读者，我希望这作为现在可能发生的事情的具体示例：一个真实的、具体的行政问题，通过一次对话解决，在一个晚上内完成。

该脚本可在 [github.com/UXVal92/gmail-flight-extractor](http://github.com/UXVal92/gmail-flight-extractor?ref=hubwiz.com) 作为起点使用并根据需要调整，或者把它交给你的AI编码助手审查和修改。

---

原文链接: [How I Used Claude Code to Extract Five Years of Flight Data from Gmail](https://medium.com/@milanavalerio/how-i-used-claude-code-to-extract-five-years-of-flight-data-from-gmail-2fca2e0b3aad?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处