
Lors de l'exécution de la commande de développement du bot télégramme, j'avais besoin d'obtenir une capture d'écran de la page web avec sa livraison à l'utilisateur. Pourquoi penser à une solution à un problème quand on peut le trouver? Il s'est avéré qu'il ne fallait pas payer! Plus de katom de sueur.
Le destin m'a donc poussé vers le service url2png . Tout semble cool: vous vous inscrivez, obtenez un jeton API et faites vous-même des demandes. Mais peu importe comment.

Non, eh bien, sérieusement, VDS pour plusieurs robots télégrammes est moins cher! Et puis il m'est devenu clair que je devais sortir de toutes les manières disponibles. Je n'ai pas eu à me creuser la cervelle pendant longtemps, car il y avait une chose telle que le sélénium . Selenium nécessite l'installation d'un pilote spécial en fonction du navigateur utilisé. Je vous préviens que PhantomJS n'est plus pris en charge par Selenium, donc Google Chrome sera utilisé pour fonctionner en mode sans tête (lorsque le pilote Web démarre). Comment configurer pour ce VDS? Tout d'abord, vous devez installer le navigateur lui-même. Dans la console, entrez les commandes suivantes.
sudo apt update sudo apt install -y chromium-browser
Après ce lien, vous devez découvrir la dernière version de chromedriver (2.41 pour le moment). Vous devez l'installer avec les commandes suivantes.
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
Je voudrais également noter que pour déboguer les télégrammes de bot, vous devrez installer un VPN sur votre machine si vous êtes en Russie. Vous pouvez maintenant commencer à développer le bot. Vous aurez besoin des bibliothèques:
pytelegrambotapi selenium validators
Vous pouvez les installer tranquillement en utilisant pip. Le début du script ressemble à ceci.
J'ai d'abord créé un bot et configuré le navigateur pour fonctionner en mode sans tête.
Il a ensuite lancé un message d'accueil et aidé l'utilisateur.
La chose la plus importante qui reste est d'obtenir une capture d'écran. La bibliothèque des validateurs valide (désolé pour la tautologie) du lien saisi par l'utilisateur. De plus, en utilisant le module os, la capture d'écran est supprimée du serveur après l'envoi, afin de ne pas prendre de place.
Nous lançons le bot et vérifions son fonctionnement!

Comme vous pouvez le voir, tout fonctionne très bien. Bien sûr, toutes sortes de petits pains peuvent être modifiés, mais je me suis fixé l'objectif de construire la fondation et je l'ai atteinte. En fait, un lien vers le bot pour les personnes intéressées et vers le référentiel github pour les personnes intéressées. En attendant, tout va bien, à bientôt dans les publications suivantes!