Чтобы удовлетворить запрос на соответствие, мне нужно загрузить сотни тысяч писем из чьей-то учетной записи Gmail и сохранить их в виде файлов EML. Мне нужно только сохранять / загружать файлы, которые соответствуют определенным критериям (отправляются после определенной даты и содержат конкретные условия).
Я подробно описал способы достижения вышеуказанной задачи (и их недостатки). Есть ли способ лучше?
Подход № 1. Использование библиотеки imaplib в Python
Downsides:
(а) Gmail регулирует скорость, с которой я могу получать электронные письма, делая это мучительно медленным, поскольку это занимает более 24 часов. Это также выгоняет меня после определенного количества запросов (не имеет большого значения, потому что я просто снова авторизируюсь, используя обработку исключений).
(b) Некоторое обсуждение UID (уникальных идентификаторов), назначенных не уникальными, если придется перезапускать ... хотя, вероятно, это не так
Подход № 2. Запросите все файлы MBOX со всеми электронными письмами у Google Takeout
Downsides:
(a) Для доставки файлов MBOX Google может потребоваться более 3 дней, и при получении данных существует неопределенность.
(b) Загрузка одного большого файла MBOX из браузера на рабочий стол занимает более 6 часов.
(c) Вы получаете больше информации, чем вам нужно, потому что вы не можете ограничить запрос данных на основе критериев
Подход № 3. Использование Gmail API
Downsides:
(а) я не знаю много об этом
(б) Вы должны заплатить, чтобы избежать проблем со скоростью в подходе # 1
(c) Не похоже, что есть много информации / ресурсов о взаимодействии с API в Python
Кто-нибудь работал с Gmail API для загрузки большого количества писем и имел хороший опыт?