Maison > Article > développement back-end > Huit scripts d'automatisation Python prêts à l'emploi !
Vous pouvez effectuer de nombreuses tâches répétitives chaque jour, telles que lire des actualités, envoyer des e-mails, consulter la météo, nettoyer des dossiers, etc. Grâce à des scripts automatisés, vous n'avez pas besoin d'effectuer ces tâches manuellement encore et encore, ce qui est très pratique. Dans une certaine mesure, Python est synonyme d'automatisation.
Aujourd'hui, je partage 8 scripts d'automatisation Python très utiles. Si vous le souhaitez, n'oubliez pas de collecter, de suivre et d'aimer.
Ce script peut récupérer le texte des pages Web, puis le lire automatiquement par la voix. C'est un bon choix lorsque vous souhaitez écouter des actualités.
Le code est divisé en deux parties. La première consiste à explorer le texte de la page Web et la seconde consiste à lire le texte à haute voix via l'outil de lecture.
Bibliothèques tierces requises :
Beautiful Soup - un analyseur de texte HTML/XML classique, utilisé pour extraire les informations des pages Web explorées.
requests - Outil HTTP incroyablement utile, utilisé pour envoyer des requêtes aux pages Web afin d'obtenir des données.
Pyttsx3 - Convertissez le texte en parole et contrôlez le débit, la fréquence et la voix.
import pyttsx3 import requests from bs4 import BeautifulSoup engine = pyttsx3.init('sapi5') voices = engine.getProperty('voices') newVoiceRate = 130 ## Reduce The Speech Rate engine.setProperty('rate',newVoiceRate) engine.setProperty('voice', voices[1].id) def speak(audio): engine.say(audio) engine.runAndWait() text = str(input("Paste articlen")) res = requests.get(text) soup = BeautifulSoup(res.text,'html.parser') articles = [] for i in range(len(soup.select('.p'))): article = soup.select('.p')[i].getText().strip() articles.append(article) text = " ".join(articles) speak(text) # engine.save_to_file(text, 'test.mp3') ## If you want to save the speech as a audio file engine.runAndWait()
L'exploration des données est la première étape d'un projet de science des données. Vous devez comprendre les informations de base des données pour analyser plus en profondeur la valeur.
Généralement, nous utilisons pandas, matplotlib et d'autres outils pour explorer les données, mais nous devons écrire beaucoup de code nous-mêmes si nous voulons améliorer l'efficacité, Dtale est un bon choix.
Dtale se caractérise par la génération de rapports d'analyse automatisés avec une seule ligne de code. Il combine le backend Flask et l'interface React pour nous fournir un moyen simple de visualiser et d'analyser les structures de données Pandas.
Nous pouvons utiliser Dtale sur Jupyter.
Bibliothèques tierces requises :
Dtale - génère automatiquement des rapports d'analyse.
### Importing Seaborn Library For Some Datasets import seaborn as sns ### Printing Inbuilt Datasets of Seaborn Library print(sns.get_dataset_names()) ### Loading Titanic Dataset df=sns.load_dataset('titanic') ### Importing The Library import dtale #### Generating Quick Summary dtale.show(df)
Ce script peut nous aider à envoyer des e-mails par lots et à intervalles réguliers. Le contenu des e-mails et les pièces jointes peuvent également être personnalisés et ajustés, ce qui est très pratique.
Par rapport aux clients de messagerie, l'avantage des scripts Python est qu'ils peuvent déployer des services de messagerie de manière intelligente, par lots et avec une personnalisation élevée.
Bibliothèques tierces requises :
Email - pour gérer les e-mails
Smtlib - pour envoyer des e-mails aux serveurs SMTP, il définit un objet de session client SMTP qui envoie des e-mails à Internet sur n'importe quel ordinateur doté d'un SMTP ou Écouteur ESMTP
Pandas - Outil d'analyse et de nettoyage des données.
import smtplib from email.message import EmailMessage import pandas as pd def send_email(remail, rsubject, rcontent): email = EmailMessage()## Creating a object for EmailMessage email['from'] = 'The Pythoneer Here'## Person who is sending email['to'] = remail## Whom we are sending email['subject'] = rsubject ## Subject of email email.set_content(rcontent) ## content of email with smtplib.SMTP(host='smtp.gmail.com',port=587)as smtp: smtp.ehlo() ## server object smtp.starttls() ## used to send data between server and client smtp.login("deltadelta371@gmail.com","delta@371") ## login id and password of gmail smtp.send_message(email)## Sending email print("email send to ",remail)## Printing success message if __name__ == '__main__': df = pd.read_excel('list.xlsx') length = len(df)+1 for index, item in df.iterrows(): email = item[0] subject = item[1] content = item[2] send_email(email,subject,content)
Le script peut convertir un pdf en fichier audio. Le principe est également très simple. Utilisez d'abord PyPDF pour extraire le texte du pdf, puis utilisez Pyttsx3 pour convertir le texte en parole. .
import pyttsx3,PyPDF2 pdfreader = PyPDF2.PdfFileReader(open('story.pdf','rb')) speaker = pyttsx3.init() for page_num in range(pdfreader.numPages): text = pdfreader.getPage(page_num).extractText()## extracting text from the PDF cleaned_text = text.strip().replace('n',' ')## Removes unnecessary spaces and break lines print(cleaned_text)## Print the text from PDF #speaker.say(cleaned_text)## Let The Speaker Speak The Text speaker.save_to_file(cleaned_text,'story.mp3')## Saving Text In a audio file 'story.mp3' speaker.runAndWait() speaker.stop()
Ce script sélectionnera au hasard une chanson dans le dossier de chansons à lire. Il convient de noter que os.startfile ne prend en charge que les systèmes Windows.
import random, os music_dir = 'G:\new english songs' songs = os.listdir(music_dir) song = random.randint(0,len(songs)) print(songs[song])## Prints The Song Name os.startfile(os.path.join(music_dir, songs[0]))
Le site Web du National Weather Service fournit une API pour obtenir des prévisions météorologiques, qui renvoie directement les données météorologiques au format json. Il vous suffit donc d'extraire les champs correspondants de json.
Ce qui suit est l'URL de la météo dans la ville désignée (comté, district). Ouvrez directement l'URL et les données météorologiques de la ville correspondante seront renvoyées. Par exemple :
http://www.weather.com.cn/data/cityinfo/101021200.html L'URL météo correspondant au district de Xuhui, Shanghai.
Le code spécifique est le suivant :
mport requests import json import logging as log def get_weather_wind(url): r = requests.get(url) if r.status_code != 200: log.error("Can't get weather data!") info = json.loads(r.content.decode()) # get wind data data = info['weatherinfo'] WD = data['WD'] WS = data['WS'] return "{}({})".format(WD, WS) def get_weather_city(url): # open url and get return data r = requests.get(url) if r.status_code != 200: log.error("Can't get weather data!") # convert string to json info = json.loads(r.content.decode()) # get useful data data = info['weatherinfo'] city = data['city'] temp1 = data['temp1'] temp2 = data['temp2'] weather = data['weather'] return "{} {} {}~{}".format(city, weather, temp1, temp2) if __name__ == '__main__': msg = """**天气提醒**: {} {} {} {} 来源: 国家气象局 """.format( get_weather_city('http://www.weather.com.cn/data/cityinfo/101021200.html'), get_weather_wind('http://www.weather.com.cn/data/sk/101021200.html'), get_weather_city('http://www.weather.com.cn/data/cityinfo/101020900.html'), get_weather_wind('http://www.weather.com.cn/data/sk/101020900.html') ) print(msg)
Le résultat est le suivant :
Parfois, ces grosses URL deviennent très ennuyeuses et difficiles à lire et partager, ces pieds peuvent convertir des URL longues en URL courtes.
import contextlib from urllib.parse import urlencode from urllib.request import urlopen import sys def make_tiny(url): request_url = ('http://tinyurl.com/api-create.php?' + urlencode({'url':url})) with contextlib.closing(urlopen(request_url)) as response: return response.read().decode('utf-8') def main(): for tinyurl in map(make_tiny, sys.argv[1:]): print(tinyurl) if __name__ == '__main__': main()
Ce script est très pratique. Par exemple, s'il existe une plateforme de contenu qui bloque les articles du compte public, alors vous pouvez changer le lien de l'article du compte public en un lien court puis l'insérer dedans pour contourner
L'une des choses les plus encombrées au monde est le dossier de téléchargement du développeur, qui contient de nombreux fichiers désorganisés. Ce script nettoiera votre dossier de téléchargement en fonction de la taille limite, avec un nettoyage limité. des fichiers plus anciens :
import os import threading import time def get_file_list(file_path): #文件按最后修改时间排序 dir_list = os.listdir(file_path) if not dir_list: return else: dir_list = sorted(dir_list, key=lambda x: os.path.getmtime(os.path.join(file_path, x))) return dir_list def get_size(file_path): """[summary] Args: file_path ([type]): [目录] Returns: [type]: 返回目录大小,MB """ totalsize=0 for filename in os.listdir(file_path): totalsize=totalsize+os.path.getsize(os.path.join(file_path, filename)) #print(totalsize / 1024 / 1024) return totalsize / 1024 / 1024 def detect_file_size(file_path, size_Max, size_Del): """[summary] Args: file_path ([type]): [文件目录] size_Max ([type]): [文件夹最大大小] size_Del ([type]): [超过size_Max时要删除的大小] """ print(get_size(file_path)) if get_size(file_path) > size_Max: fileList = get_file_list(file_path) for i in range(len(fileList)): if get_size(file_path) > (size_Max - size_Del): print ("del :%d %s" % (i + 1, fileList[i])) #os.remove(file_path + fileList[i]).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!