Какой самый быстрый способ загрузки файлов EML из Gmail (в соответствии с определенными критериями) с использованием Python? - PullRequest
0 голосов
/ 19 июня 2019

Чтобы удовлетворить запрос на соответствие, мне нужно загрузить сотни тысяч писем из чьей-то учетной записи 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 для загрузки большого количества писем и имел хороший опыт?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...