
Während der Ausführung eines Auftrags zur Entwicklung eines Telegramm-Bots musste ich einen Screenshot einer Webseite mit deren Übermittlung an den Benutzer erstellen. Warum über eine Lösung für ein Problem nachdenken, wenn Sie es finden können? Wie sich herausstellte, nicht zu bezahlen! Noch mehr Schweißkatom.
Das Schicksal hat mich also zum url2png- Dienst gedrängt . Alles scheint cool zu sein: Sie registrieren sich, erhalten ein API-Token und stellen sich Anfragen. Aber egal wie.

Nein, im Ernst, VDS für mehrere Telegramm-Bots ist billiger! Und dann wurde mir klar, dass ich auf alle verfügbaren Arten raus musste. Ich musste mir lange nicht den Kopf zerbrechen, da es so etwas wie Selen gab . Selen erfordert die Installation eines speziellen Treibers entsprechend dem verwendeten Browser. Ich warne Sie, dass PhantomJS von Selenium nicht mehr unterstützt wird. Daher wird Google Chrome verwendet, um im Headless-Modus zu arbeiten (wenn der Webdriver gestartet wird). Wie konfiguriere ich diesen VDS? Zuerst müssen Sie den Browser selbst installieren. Geben Sie in der Konsole die folgenden Befehle ein.
sudo apt update sudo apt install -y chromium-browser
Nach diesem Link müssen Sie die neueste Version von chromedriver (derzeit 2.41) herausfinden. Sie müssen es mit den folgenden Befehlen installieren.
wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip unzip chromedriver_linux64.zip sudo mv chromedriver /usr/bin/chromedriver sudo chown root:root /usr/bin/chromedriver sudo chmod +x /usr/bin/chromedriver
Ich möchte auch darauf hinweisen, dass Sie zum Debuggen von Bot-Telegrammen ein VPN auf Ihrem Computer installieren müssen, wenn Sie sich in Russland befinden. Jetzt können Sie mit der Entwicklung des Bots beginnen. Sie benötigen die Bibliotheken:
pytelegrambotapi selenium validators
Sie können sie leise mit pip installieren. Der Anfang des Skripts sieht so aus.
Zuerst habe ich einen Bot erstellt und den Browser so eingerichtet, dass er im Headless-Modus arbeitet.
Dann gab er eine Begrüßung und Hilfe für den Benutzer frei.
Das Wichtigste ist, einen Screenshot zu machen. Die Validatorenbibliothek validiert (entschuldigt die Tautologie) den vom Benutzer eingegebenen Link. Mit dem OS-Modul wird der Screenshot nach dem Senden vom Server gelöscht, um keinen Speicherplatz zu beanspruchen.
Wir starten den Bot und überprüfen seine Funktion!

Wie Sie sehen können, funktioniert alles super. Natürlich können alle Arten von Brötchen modifiziert werden, aber ich habe mir das Ziel gesetzt, das Fundament aufzubauen und es zu erreichen. Eigentlich ein Link zum Bot für Interessierte und zum Github-Repository für Interessierte. In der Zwischenzeit alles Gute, wir sehen uns in den folgenden Publikationen!