Отметьте электронные письма как прочитанные, конвертируйте видео в аудио в текст и многое другое

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

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

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

Просмотр последних писем и отметка всех непрочитанных как видимых из командной строки

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

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

Библиотека позволяет фильтровать электронные письма по дате, теме, отправителю и т. Д. Итак, с помощью следующего фрагмента кода вы можете получать последние электронные письма n без ручного входа в браузер:

RFC822 - это протокол сообщений доступа в Интернет. Вы также можете найти Subject, Content и Date в каждом ответе по электронной почте.

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

1. Log into your Gmail account.
2. Navigate to https://security.google.com/settings/security/apppasswords
3. In 'select app' choose 'Custom', give it any name name and press generate.
4. It will give you a token which you can paste in the above script.

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

К счастью, указанный выше модуль imap позволяет вам искать НЕВИДИМЫЕ сообщения и устанавливать их как прочитанные. Сначала измените фильтр поиска в предыдущем коде на этот:

mail.search(None, '(UNSEEN)')

Наконец, добавьте следующий фрагмент кода в цикл for:

original = email.message_from_bytes(response_part[1])
mail.store(num,'+FLAGS','\\Seen')

Обратный апостроф Seen важен. Мне удалось уменьшить количество непрочитанных сообщений в моем почтовом ящике до нуля с помощью приведенного выше сценария!

2. Загрузчик видео

Все любят смотреть видео на YouTube. Мало кто из нас даже хочет сохранить несколько видеофайлов локально. К нашему удивлению, youtube-dl модуль Python как раз для этого.

Просто установите пакет и запустите его в командной строке со ссылкой на YouTube, как показано ниже:

pip install youtube-dl
> youtube-dl <Video Link Here>

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

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

3. Получите стандартные обновления из командной строки.

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

У нас есть yfinance Python, который представляет собой именно ту библиотеку, которая вам понадобится для отслеживания запасов.

pip install yfinance

yfinance предоставляет нам множество данных, таких как информация об акциях, исторические данные, сплиты, дивиденды, quarterly_financials и многое другое. Все они заключены в Ticker модуль.

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

q = yf.Ticker("AAPL")
data_frame = q.history("1d")
price = data_frame["Close"].values[0
print(f'Apple current stock price: {price}')

Приведенный выше код работает как шарм, но если вы хотите прослушивать несколько тикеров, вы также можете сделать это с помощью следующего фрагмента кода:

tickers = yf.Tickers('msft aapl amzn')
print(tickers.tickers.MSFT.history("1d")["Close"].values[0])
print(tickers.tickers.AAPL.history("1d")["Close"].values[0])
print(tickers.tickers.AMZN.history("1d")["Close"].values[0])

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

4. Преобразование mp4 в mp3 в текст

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

Оставаясь верным своему названию, вы также можете настроить тона, выполнив модуляцию высоты тона или установив определенные сегменты звука громче или тише. А пока посмотрим, насколько легко извлечь файлы mp3 из видео в формате mp4:

from pydub import AudioSegment
AudioSegment.from_file("/path_to_video").export("~/output.mp3", format="mp3")

AudioSegment - это контейнер для загрузки, преобразования и сохранения аудиофайлов.

Затем давайте сделаем речь для расшифровки текста из аудиофайла. Сначала установите модуль SpeechRecognition, используя pip. Затем мы экспортируем mp3 как файл wav и выполним транскрипцию:

5. Извлечение кадров изображений из видео

И последнее, но не менее важное: у нас есть скрипт Python, предназначенный исключительно для специалистов по данным.

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

К счастью, OpenCV, который может похвастаться рядом методов обработки изображений, может извлекать кадры из видео за вас.

Просто установите модуль opencv-python с помощью pip, как показано ниже:

pip install opencv-python

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

import cv2
videocap = cv2.VideoCapture('input.mp4')
success,image = videocap.read()
count = 0
while success:
  cv2.imwrite("frame%d.jpg" % count, image)
  success,image = videocap.read()
  print('Read a new frame: ', success)
  count += 1

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

Чтобы ограничить количество извлекаемых кадров в секунду, добавьте следующую строку кода перед cv2.imwrite внутри цикла while выше:

videocap.set(cv2.CAP_PROP_POS_MSEC,(count*1000))

Это позволит захватить только один кадр в секунду. Вы можете изменить его в соответствии с вашим вариантом использования.

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

Забрать

Экосистема модулей Python позволяет выполнять сложные задачи в режиме plug and play. Лучше всего то, что вам не нужны знания программирования для выполнения вышеуказанных задач.

В заключение, если вы хотите передать данные из одного скрипта Python в другой, сделайте следующее:

#second_script.py
from first_cript import variable
print(f'Hello {variable}')

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

Вот и все. Спасибо за прочтение.