Рубрики
Без рубрики

Сохраните статус WhatsApp с Python на Android. Рабочий пример включен

Вы можете сохранить свои статусы WhatsApp на своем мобильном телефоне с помощью Python с помощью приложения Termux. Termux позволяет вам запускать сценарии Python на вашем мобильном телефоне. Tagged с Python, WhatsApp, Termux.

Первоначально опубликовано здесь

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

Поэтому сегодня я хотел иметь возможность сохранить свои статусы WhatsApp, не используя приложение WhatsApp Status Saver. Я знал, что смогу легко реализовать это с помощью сценария Bash, но я хотел использовать Python, так что я так и сделал.

TL; DR версия

Весь код доступен как Гист здесь . Просто клонируйте суть и следуйте шагам ниже. Кроме того, не забудьте дать ему звезду

Установка Termux

Termux – это эмулятор терминала для Android, который позволяет запускать среду Linux на устройстве Android. Это приложение позволит вам установить Python на вашем мобильном устройстве, чтобы запустить сценарий. Вы можете Нажмите здесь, чтобы загрузить его Анкет

После установки приложения откройте приложение и введите PKG Установка Python Анкет После запуска этой команды введите Python на терминале, чтобы увидеть, появится ли интерпретатор Python. Вы должны увидеть что -то вроде изображения ниже ⬇

Поэтому, если ваш вывод выглядит как изображение выше, то это означает, что вы успешно установили Python на свое мобильное устройство. Ура!!! 🎆

Итак, давайте перейдем к следующему шагу

Установка модуля сторожевого года

Таким образом, мы собираемся использовать модуль Watchgod, чтобы помочь нам узнать, когда был загружен статус. Модуль Сторожея наблюдает за каталогом, а затем сообщает об изменениях, которые происходят в каталоге, который он смотрит. Вы можете прочитать больше об этом здесь Анкет

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

  1. Сторожевой срок будет смотреть Статусы Папка внутри вашего каталога WhatsApp.
  2. Всякий раз, когда вы смотрите новый статус на WhatsApp, он будет загружен на Статусы папка.
  3. Это запустит событие в Watchgod, так как он смотрит на каталог.
  4. Затем мы пытаемся найти новый файл, который был создан из события, о котором сообщалось Watchgod.
  5. Затем мы копируем файл в другое место
  6. Сделанный! 💯

Чтобы установить модуль Сторонного Года, выйдите из интерпретатора Python, тип ( ctrl + z ).

Затем введите PIP установить Сторонник Анкет

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

Написание кода

По умолчанию текущий рабочий каталог Termux всегда является /DATA/DATA/COM.TROMUX/FILES/HOME Вам нужно изменить его на домашний каталог вашего телефона. Вы можете сделать это, введя CD/Storage/Emulate/0 Анкет Эта команда должна перенести вас прямо в домашний каталог вашего телефона.

Затем нам нужно создать папку, в которой будет размещена наше простое приложение. Давайте назовем наше приложение “Saver Saver”, или ❓. Мы можем создать папку с командой Mkdir "Saver" . Затем мы переходим к этому каталогу с CD "Saver" Анкет

К счастью для нас, Termux поставляется с предварительно установленным Nano. Nano – это текстовый редактор, который мы будем использовать для написания нашего кода.

Чтобы создать новый файл, введите nano main.py В вашем терминале, и это должно открыть новый пустой файл, где мы напишем наш код.

Теперь введите следующий код в редактор, я объясню ниже

from watchgod import watch #Imports the watcher
import re # Imports python regex module for extracting data out of the event
from shutil import copy
from os import makedirs

EVENT_REGEX = r"{\(,\s'([\w\W]+)'\)}" # The regex which will extract the data
WHATSAPP_STATUSES_DIRECTORY = "/storage/emulated/0/WhatsApp/Media/.Statuses/" #The WhatsApp status directory
STATUS_SAVER_DIRECTORY = "/storage/emulated/0/DCIM/Status Saver" #Where the statuses will be saves


def main():
    for changes in watch(WHATSAPP_STATUSES_DIRECTORY):
        match = re.match(EVENT_REGEX, str(changes)) #We try to use the regex to extract the data
        event = match.group(1) # We extract the event type
        file = match.group(2) #We extract the file name
        if event == "added": #It checks if a file was added
            copy(file,STATUS_SAVER_DIRECTORY)

def create_directory_if_not_exits():
    #This function just creates the STATUS_SAVER_DIRECTORY
    try:
        makedirs(STATUS_SAVER_DIRECTORY)
    except FileExistsError:
        pass

if __name__ == "__main__":
    create_directory_if_not_exits()
    main()

Так должен выглядеть ваш код в приложении

Объясняя код

На первых четырех строках мы импортировали модули, которые мы будем использовать; Сторонник Для просмотра каталогов, Re для корпорации, shutil.copy Для копирования файлов и Os.madkedirs Для изготовления папок.

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

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

Status_saver_directory это путь по умолчанию, где ваши статусы будут сохранены. Причина, по которой я решил сохранить его в Dcim Это, он появляется в вашей галерее. Разве это не круто? 😎

Функция main () это функция, которая выполняет всю работу. Мы перечитываем метод часа и ждем, пока его событие будет сообщать. Затем мы используем регуляцию для извлечения типа события и файла, который был затронут. Затем мы пытаемся увидеть, добавил ли тип события файл, изменял его или удаляет его. Если он добавляет файл, мы копируем этот файл в ваш Status_saver_directory .

Кто -то может спросить, зачем проверить тип события, в то время как мы могли бы просто скопировать содержимое каталога в Status_saver_directory Анкет Что ж, причина в том, что это будет просто пустая трата ресурсов перезаписать файлы снова и снова.

Функция create_directory_if_not_exits () Просто создает Status_saver_directory каталог, если он не существует.

Тогда, наконец, __name__ Условие означает, что если код запускается напрямую, он должен запустить две функции. Нет ничего особенного, просто весело добавить его. 😆

После написания кода нажмите Ctrl + X Чтобы закрыть редактор. Не забудьте сохранить файл, если он будет предложен.

Запуск кода

Внутри каталога, в котором вы создали файл Python, запустите команду Python main.py где main.py Имя файла Python Вы только что создали

Рабочее доказательство приложения

Итак, после создания кода я решил проверить его на своем мобильном устройстве, чтобы увидеть, будет ли он сработать, и угадать, что это так!

Я создал Гист с кодом. Пожалуйста, дайте ему звезду.

Счастливого кодирования !!! 😄

Следуй за мной в Твиттере @lucretius

Оригинал: “https://dev.to/biah/save-whatsapp-status-with-python-on-android-working-example-included-bbm”