Verfolgen Sie die Nutzung mobiler Daten mit BitBar und Python

BitBar (von Mat Ryer – @matryer) ist ein OpenSource-Projekt auf GitHub, mit dem Sie die Ausgabe eines beliebigen Skripts / Programms in Ihre Mac OS X-Menüleiste einfügen können. https://github.com/matryer/bitbar

Mit BitBar können Sie grundlegende UI-Funktionen mithilfe grundlegender Skripte auf Ihren Mac bringen. BitBar unterstützt jede Sprache, die in stdout schreiben kann! Das bedeutet Bash, Zsh, Python 2/3, Ruby, Node, Go, Lip, Perl, PHP, Java, … so ziemlich jede Sprache!

Für die Grundfunktionalität, die yo u möglicherweise nur eine Zeile in stdout drucken möchte, ist diese Art von BitBar-App sehr nützlich und wird heute gezeigt eine kleine Hilfe von Python und meinem mobilen Aldi-SIM-Paket, mit dem ich meine Arbeit von zu Hause aus erledigen kann.

Schritt 1: Installieren Sie BitBar

Schritt 2: Schreiben Sie ein Skript, damit Bitbar

ausgeführt werden kann

Da ich mein Aldi-Handy häufig für die Internetnutzung auf meinem Laptop verwende, möchte ich überprüfen, wie viele Daten mir noch zur Verfügung stehen. Erstellen Sie in BitBar ein Skript mit dem Namen aldi-mobile.15m.sh, das alle 15 Minuten ausgeführt wird, und fügen Sie es unserem BitBar-Verzeichnis hinzu.

Großartig, jetzt kann BitBar dieses Skript alle 15 Minuten ausführen! Es hat aber noch keine Funktionalität. Schreiben wir also ein Python 3-Skript, das auf die Webseite von Aldi Mobile wechselt und den Restbetrag abruft.

Schritt 3: Schreiben Sie Funktionen in Python, damit BitBar

ausgeführt werden kann

Erstellen Sie ein Python-Skript mit dem Namen aldi-mobile.py und speichern Sie es im Ordner unter unserem BitBar-Verzeichnis

Damit die Funktionalität funktioniert, müssen wir eine Sitzung mit den mobilen Aldi-Webservern aufrechterhalten, wenn wir unsere Benutzeranmeldeinformationen angeben. Dazu verwenden wir die request.Session () aus der Python Requests-Bibliothek. Die meisten Websites unterhalten eine Sitzung mit einem CSRF-Token, und wir können dies aus unserem ersten extrahieren. Anfrage auf der Anmeldeseite der Website. Um das Muster für den regulären Ausdruck herauszufinden, öffnen Sie einfach die Seite in Chrome / Firefox, klicken Sie mit der rechten Maustaste – überprüfen Sie die Seite und suchen Sie nach “csrf” oder “token”.

Sie sollten überprüfen, ob auf Ihrem Computer Anforderungen installiert sind, da diese in unserem Python-Skript verwendet werden.

Wechseln Sie in Chrome / Firefox mit geöffneten Entwicklertools zur Registerkarte Netzwerk, geben Sie Ihre Anmeldeinformationen ein und klicken Sie auf Anmelden. Dies zeigt Ihnen die HTTP-Netzwerkablaufverfolgung, mit der Sie sich bei Ihrem Konto angemeldet haben. Daraus können wir ersehen, dass die URL, die wir zum Anmelden benötigen, „https://www.aldimobile.com.au/login_check" und wenn Sie auf “params” klicken, sehen Sie Ihre Telefonnummer, Ihr Passwort und Ihr csrf-Token. Dies müssen wir unserer Python-Anfrage hinzufügen, um uns anzumelden.

Beachten Sie, dass ich hier die Python-Standardbibliothek für Regex (Re) verwendet habe, anstatt den HTML-Code mit BeautifulSoup zu analysieren. Einfach, weil das, was wir suchen, sehr einfach ist und keine schweren Maschinen erfordert.

Jetzt, da wir in unserer Sitzung angemeldet sind, können wir auf unser Dashboard zugreifen, das alle unsere persönlichen Informationen enthält. Leider müssen wir noch eine Anfrage stellen, da Aldi Mobile eine dynamische Anfrage mit xhr verwendet, um das Gleichgewicht der Benutzer nach dem Rendern der Seite zu erreichen. Dies kann wiederum durch Überprüfen der Seite und Betrachten der Registerkarte “Netzwerk” festgestellt werden. Also holen wir uns die Benutzer-ID und den Plan-Typ und senden eine letzte Anfrage, um den Kontostand zu erhalten.

Jetzt haben wir diese Funktionalität aus dem Weg, wir müssen sie mit BitBar verknüpfen!

Schritt 4: Verknüpfen der Funktionalität mit BitBar

Der letzte Schritt ist einfach. Öffnen Sie das zu Beginn erstellte Shell-Skript (& lt; BITBAR-DIRECTORY & gt; /aldi-mobile.15m.sh) und fügen Sie Folgendes hinzu.

Lebe in Aktion!

Wie Sie sehen, werden einige benutzerdefinierte BitBar-Anwendungen ausgeführt! Ich habe derzeit 4 ausgeführt: