Dans de nombreux domaines critiques, vous pouvez automatiser l’exécution de tâches répétitives de manière efficace et efficiente en utilisant un langage informatique tel que Python . Lorsque vous débutez, il est essentiel de comprendre les principes fondamentaux de Python via des exemples de codage. Cependant, si vous souhaitez améliorer vos compétences Python, vous devez vous concentrer sur la construction d’objets et l’automatisation de tâches du monde réel.
Cet article se concentre sur les principes fondamentaux de Python et explique comment vous pouvez automatiser vos tâches ennuyeuses à l’aide de Python.
Python est un langage de programmation flexible, simple à apprendre et à utiliser. Cela est principalement dû au fait qu’il est similaire aux autres langages de programmation de haut niveau bien connus et qu’il est sous licence selon un modèle open source. Il a été développé pour la première fois en 1991 par Guido van Rossum, puis amélioré par la Python Software Foundation.
La syntaxe de Python est simple et directe, ce qui la rend plus facile à lire et à comprendre que la syntaxe d’autres langages informatiques. La lisibilité du code était un objectif principal de la conception, et la structure du langage permet aux programmeurs d’exprimer leurs pensées avec moins de lignes de code.
Le langage de programmation Python est à la fois orienté objet et procédural. Il est typé dynamiquement, il n’est donc pas obligatoire de déclarer les types de variables, mais vous pouvez ajouter des indices de type à vos variables à l’aide de Python 3. Un exemple simple consiste à déclarer vehicle = 10
ce qui signifie que le véhicule peut être une chaîne, un int ou autre.
Le fait qu’il soit open source signifie également qu’un large éventail d’outils, de bibliothèques, de frameworks et de supports sont accessibles. De ce fait, Python est un langage de programmation très apprécié pour réaliser des automatisations simples. Tout comme Python 2 auparavant, Python 3 est désormais largement accepté et utilisé par les programmeurs.
Python 3 présente des changements de langage évolutifs et modestes. Python 3 est la print()
déclaration mise à jour de Python 2, se présente comme ci-dessous :
print "Hello World" // python 2
print("Hello World") // python 3
Le codage des caractères des chaînes a radicalement changé entre les deux versions linguistiques. Le codage de caractères est le processus de stockage de caractères en octets dans un langage informatique.
L’implémentation par Python 3 de la norme Unicode lui permet de gérer les alphabets anglais, arabe et grec, ainsi que les emojis, les expressions mathématiques, etc. Au moment de la sortie de Python 3, la grande majorité des langages de programmation contemporains prenaient déjà en charge Unicode.
La saisie est prise en charge dans Python 3, mais elle n’est pas obligatoire. Par conséquent, même si le code Python 3 peut être écrit de la même manière que le code Python 2, les développeurs peuvent exploiter les astuces de type pour créer un code plus lisible, plus efficace et plus utile.
Python est un langage puissant grâce auquel vous pouvez automatiser à peu près toutes les tâches banales ou complexes avec un certain effort.
Tout ce dont vous avez besoin pour commencer est Python installé sur votre ordinateur et les bibliothèques appropriées installées sur votre ordinateur. Pour la brièveté de cet article, la convivialité et la simplicité d’automatisation des tâches répétitives sont démontrées à l’aide de Python.
Saviez-vous que Python peut vous aider à générer des mots de passe aléatoires, cela également sans bibliothèque sophistiquée ni installation de logiciel ? Regardons le code ci-dessous :
import secrets
import string
character_choices = string.ascii_letters + string.digits + string.punctuation
print(''.join([secrets.choice(character_choices) for i in range(16)]))
Cette ligne de code imprime un mot de passe aléatoire que vous pouvez réellement utiliser pour sécuriser vos comptes ! Le range
décide de la longueur de la chaîne générée tandis que le choice
décide de la combinaison aléatoire de caractères individuels, 16 fois choisis – qui est imprimé comme chaîne de votre mot de passe.
Avez-vous déjà rencontré des scénarios dans lesquels vous devez prendre plusieurs captures d’écran pour terminer une tâche ? Certes, vous devrez peut-être prendre des captures d’écran tout en automatisant les scénarios de test, sinon rien d’autre. Voyons comment automatiser la capture de captures d’écran à l’aide de Python. Pour la même chose, vous aurez besoin de Selenium Webdriver, qui vous aidera à effectuer des tests et une automatisation dans votre navigateur Web pour cet exemple. Pour installer le Selenium Webdriver dans ce cas, exécutez la commande ci-dessous dans votre terminal avant de continuer :
pip install selenium
Une fois installé, vous pouvez commencer à écrire votre script Python comme ci-dessous :
1. from selenium import webdriver
2. from time import sleep
3. browser = webdriver.Chrome()
4. browser.get("https://blog.sentry.io")
5. sleep(1)
6. browser.get_screenshot_as_file(SentryBlog.png”)
7. browser.quit()
Le script ci-dessus vous aide à capturer une capture d’écran de la page du blog Sentry.io . Comprenons comment cela fonctionne.
webdriver
est importé du module Selenium, qui vous aide à démarrer votre navigateur et à utiliser les API pour interagir avec les composants Web du navigateur.
sleep
La fonction est importée du module Python time
, ce qui vous permet de spécifier l’arrêt de l’exécution en secondes avec sleep(1)
. Les lignes 3 et 4 suivantes spécifient le navigateur Web et ouvrent une URL Web dans le navigateur spécifié.
Le Selenium Webdriver que vous utilisez s’arrête par défaut jusqu’au chargement du site Web. Cependant, certains sites Web avancés peuvent nécessiter sleep()
une pause dans l’exécution du code pour terminer le chargement du site Web.
Enfin, la get_screenshot_as_file()
méthode capture une capture d’écran de la page Web visible. Ensuite, le navigateur doit être fermé et la browser.quit()
ligne fait de même pour vous.
Les captures d’écran automatisées peuvent faciliter l’identification des failles et accélérer le processus d’identification et de correction manuelles. Plus important encore, il est extensible dans la même mesure que l’application que vous testez sans avoir besoin de plus de testeurs. Une conséquence directe de tout ce qui précède est que les captures d’écran automatiques permettent d’économiser du temps et de l’argent.
Avez-vous déjà essayé d’acheter vos produits préférés au prix le plus bas possible ? Vous pouvez suivre le prix de vos produits préférés sur les plateformes de commerce électronique avec un simple script Python.
Pour obtenir le même résultat, vous devez effectuer des appels API à l’aide d’un simple script Python qui vérifiera périodiquement le prix de votre produit spécifié sur le site de commerce électronique et vous enverra un e-mail à ce sujet.
Voyons comment y parvenir :
Pour la brièveté de cet exemple, nous allons appeler BeautifulSoup
la bibliothèque pour effectuer les appels réseau avec d’autres bibliothèques Python pour effectuer la tâche. Cet exemple présente l’interrogation d’un produit sur le site Web d’Amazon.
Tout d’abord, déclarez les modules nécessaires en tant qu’import :
import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
Vous êtes maintenant prêt à utiliser l’URL de votre produit comme entrée pour recevoir des mises à jour sur :
producturl = input("Enter the website URL of the product that you want to purchase:\n")
Ensuite, vous devez définir des fonctions qui effectueront différentes tâches pour vous, comme indiqué ci-dessous :
import requests
from bs4 import BeautifulSoup as soup
import time
import smtplib
import getpass
Vous êtes maintenant prêt à utiliser l’URL de votre produit comme entrée pour recevoir des mises à jour sur :
producturl = input("Enter the website URL of the product that you want to purchase:\n")
Ensuite, vous devez définir des fonctions qui effectueront différentes tâches pour vous, comme indiqué ci-dessous :
def get_product_price():
title = soup.find(id="productTitle").get_text().strip()
try:
price = soup.find(
id="priceblock_ourprice_row").get_text().strip()[:20].replace( '$','').replace(' ','').replace('Price:','').replace('\n','').replace( '\xa0','').replace(',', '').replace('Fu', '')
except:
try:
price = soup.find(id="priceblock_dealprice").get_text().strip()[:20].replace( '$', '').replace(' ', '').replace('Price:', '').replace('\n', '').replace('\xa0','').replace(',','').replace('Fu', '')
except:
try:
price = soup.find(
id="priceblock_ourprice").get_text().strip()[:20].replace(
'$','').replace(' ', '').replace('Price:', '').replace('\n',
'').replace('\xa0','').replace(',', '').replace('Fu', '')
except:
price = soup.find(id="priceblock_ourprice_lbl").get_text()
.strip()[:20].replace('$', '').replace(' ', '').replace('Price:',
'').replace('\n','').replace('\xa0','').replace(',','').replace('Fu', '')
Le code ci-dessus vérifie le prix du produit en analysant les éléments de la page HTML à l’aide des identifiants HTML définis dans chaque sous-bloc. Au fur et à mesure que l’exécution du code avance, elle vérifie les autres prix mentionnés sur la page, tels que Deal Price et Our Price .
Vous pouvez automatiser la livraison des e-mails à l’aide de Python. La bibliothèque smtplib de Python vous permet d’envoyer des e-mails via SMTP. Vous aurez besoin d’un compte Gmail ; et vous aurez besoin d’un mot de passe d’application. Vous pouvez trouver des instructions sur la création d’un mot de passe d’application ici .
Tout d’abord, vous devez vous connecter à Gmail SMTP.
Dans cet exemple, vous utilisez mail_id
et password
pour demander respectivement l’e-mail et le mot de passe, ainsi que smtplib
pour établir une connexion et envoyer des e-mails. Une fois les modules intégrés appropriés importés au début, les phases suivantes établissent les variables. Gmail a besoin de HOST et PORT, des constantes en majuscules.
Le mot de passe et le nom d’utilisateur Gmail sont conservés dans la variable username. Pour saisir le mot de passe, utilisez getpass
. Il demande un mot de passe mais ne le répète pas. Le script utilise SMTP_SSL()
pour sécuriser la connexion SMTP.
def send_mail(mail_id, title, password):
server_mail = "smtp.gmail.com"
port = 587
server = smtplib.SMTP(server_mail, port)
server.ehlo()
server.starttls()
server.login(mail_id, password)
subject = "The price of the product is updated!"
body = f"Price of {title} is now below the minimum amount. Click on the link below to buy the product now:\n\n" + producturl
message = f'Subject:{subject}\n\n {body}'
server.sendmail(mail_id, mail_id, message)
server.quit()
Une fois l’authentification effectuée à l’aide de la login()
méthode, vous pourrez envoyer des e-mails avec la sendmail
méthode. Ici, il est important de fermer correctement votre connexion ouverte avec la quit()
méthode. Vous avez défini les fonctions permettant de récupérer le prix et d’exécuter l’envoi d’e-mails lorsque le prix descend en dessous d’une valeur minimale. Vous devez maintenant déclencher ce script de manière périodique, c’est-à-dire toutes les 60 minutes environ. Vous pouvez modifier et appliquer votre propre intervalle dans le script. Voici comment procéder :
while 1:
get_product_price()
# checks at an interval of 1 hour (specified in seconds)
time.sleep(3600.00)
Ici, while 1
agit comme une condition vraie, exécutant toujours le code dans le bloc, qui exécute la get_product_price()
méthode, puis arrête l’exécution pendant les 60 minutes suivantes, puis exécute à nouveau le code périodiquement.
Python peut être utilisé pour automatiser un large éventail d’autres processus. Vous effectuez quotidiennement de nombreuses tâches, comme transférer des informations d’un document à un autre ou multiplier un chiffre par cent. En utilisant le bon ensemble d’outils et une compréhension des conventions de script, ces tâches sont facilement automatisables avec Python. Cela vous donne la possibilité d’exercer leur créativité et de proposer des solutions automatisées uniques aux tâches banales auxquelles ils sont confrontés quotidiennement.
Pour explorer davantage, vous pouvez consulter le site Web Code de la NASA , où ils ont open source de nombreux projets Python dont vous pouvez tirer des leçons. Ce référentiel GitHub populaire est l’une des mines d’or des scripts d’automatisation Python, qui reçoit régulièrement les contributions de divers contributeurs. Vous pouvez également rechercher davantage sur le sujet sur GitHub .
Cdlacom est une agence spécialisée dans la création de sites web IA, qui offrent une expérience utilisateur optimale. Notre équipe de développeurs et de designers utilise l’intelligence artificielle pour créer des sites web personnalisés, ergonomiques et référencés naturellement. Nous sommes là pour vous aider à optimiser votre présence en ligne et à fidéliser votre audience.