Используйте Gmail API для отправки собранных данных на вашу электронную почту

Автоматизировать повседневные задачи с помощью Python легко. С помощью комбинации API-интерфейсов и простых для понимания библиотек вы можете легко настроить системы, которые очищают веб-сайты, отправляют электронные письма и управляют данными и аналитикой.

Одна из очень распространенных задач, которые вам нужно будет автоматизировать в корпоративном мире, - это очистка государственных правительственных данных. Обычно это происходит с таких сайтов, как data.gov и других конечных точек, чтобы получить информацию о здравоохранении, торговле, транспорте, юриспруденции и многом другом.

На самом деле существует множество сайтов правительственных агентств, которые в некоторой степени скрыты, но по-прежнему производят много ценных данных, на которые компании за миллиард долларов полагаются при принятии решений на миллион долларов.

В этой статье мы расскажем, как можно написать сценарий Python, который может загружать определенный набор правительственных данных, а затем загружать его по электронной почте и отправлять кому угодно.

Это научит вас пользоваться библиотекой запросов Python, а также Gmail API. Так что, если вы хотите автоматизировать будущую электронную почту с помощью Python, это отличное место для начала.

Загрузка файла с помощью Python

Для первого шага нам нужно будет загрузить файл данных с помощью HTTP-запроса.

Что хорошего в Python, так это то, что большая часть сложности написания кода, такого как HTTP-запросы, была удалена. Вместо этого вы можете импортировать библиотеку запросов и использовать ее для публикации и получения запросов.

В этом случае у файла, который мы будем загружать, даже будет легкая конечная точка по ссылке ниже. Таким образом, вам не нужно использовать библиотеку вроде Selenium, чтобы пытаться нажать кнопку загрузки.

Даже если есть кнопка загрузки, вам следует подумать о том, чтобы проверить, не прикреплен ли к ней URL. Как правило, при наличии URL-адреса загрузить по ссылке намного проще, чем создать поискового робота, который ищет кнопку для нажатия.

https://data.medicaid.gov/api/views/u72p-j37s/rows.json?accessType=DOWNLOAD

Этот файл содержит информацию о Medicaid и отдельных участниках. Это может быть полезно для поставщиков медицинских услуг, которые могут привязать их к своим внутренним данным, чтобы лучше понять свой рынок.

Чтобы скачать его, воспользуемся функцией function requests.get(). Это позволит нам получать данные с помощью HTTP-запроса по указанному URL-адресу.

Например, вы можете посмотреть сценарий ниже:

Это короткое и приятное сообщение, возвращающее CSV как часть запроса, который вы теперь установили в качестве переменной. Мы будем использовать это позже, когда создадим электронную почту. Но затем нам нужно настроить учетные данные для API Gmail.

Настройка вашего Gmail API

Google упростил вам настройку API. Вы можете перейти в Консоль Google API. Оттуда вы можете выбрать ВКЛЮЧИТЬ APIS И СЛУЖБЫ, а затем выполнить поиск Gmail API.

Консоль API выглядит как на изображении ниже.

После нажатия этой кнопки вы получаете поисковую систему, которая позволяет выполнять поиск по различным API. Это будет выглядеть как на картинке ниже.

Вы можете ввести в Gmail, и он должен быть единственным, который появится.

Затем вы можете выбрать Gmail API, и рядом с ним будет кнопка ВКЛЮЧИТЬ.

После того, как вы нажмете ВКЛЮЧИТЬ в API Gmail, вы сможете загрузить свои учетные данные или использовать ключ и секрет API.

Наш код будет использовать загрузку JSON, но затем преобразует ее в рассол, если вы так предпочитаете.

После того, как все это настроено, мы можем приступить к созданию ваших функций для настройки и автоматической отправки электронной почты.

Отправка писем с помощью Gmail API

Теперь, когда мы нашли способ получить эти данные, нам нужно выяснить, как на самом деле отправить электронное письмо.

Для этого воспользуемся библиотекой email. Эта библиотека позволит нам настроить различные части электронного письма: отправителя, получателя, тему и т. Д.

Мы делаем это с помощью класса MIMEBase в электронной почте, который упрощает настройку правильных точек данных и предоставляет простой класс для API Gmail, который можно использовать в будущем для анализа.

Использовать класс MIMEBase очень просто, так как вы можете создать новый класс, а затем ссылаться на многие из необходимых компонентов, например:

message[‘from’] = [email protected]

Вы можете увидеть всю функцию, в которой мы устанавливаем эти параметры, ниже.

В конце вы заметите, что мы используем функцию urlsafe_b64encode. Это установит размер сообщения в байтах. Это будет использоваться для простой передачи данных электронной почты в API Gmail. Так что пройти будет легко.

Теперь, наконец, пришло время отправить ваше первое автоматическое электронное письмо.

Отправка вашего первого автоматического электронного письма с помощью Python

Теперь, когда вы настроили учетные данные Gmail API, мы можем отправить наше первое электронное письмо.

Мы будем использовать служебную переменную, которую мы настроили с API Gmail и учетными данными.

Это показано ниже в функции send_message.

Отсюда все, что нам нужно сделать, это передать сообщение и выполнить его.

На этом мы отправили наше первое электронное письмо.

Весь сценарий выглядит так, как показано ниже.

Пора начать автоматизацию

Мы надеемся, что этот скрипт поможет вам автоматизировать будущие электронные письма с помощью Python, а также найти другие задачи, которые вы можете автоматизировать.

В приведенных выше примерах мы вручную планируем этот скрипт. Однако в будущем, если вы захотите автоматизировать это более эффективно, вы можете использовать фреймворк вроде Airflow. Тогда вместо того, чтобы запускать сценарий вручную, вы можете запускать его ежедневно.

Мы не рекомендуем пытаться создать вашу платформу автоматизации, особенно когда существует так много отличных вариантов. Вот почему мы на самом деле просто показываем сценарий.

Удачи и счастливой автоматизации!