8 scripts d'automatisation python pour améliorer l'efficacité de la pêche et améliorer le bonheur des travailleurs ~

laisse moi dire des bêtises

Bonjour, frères!

Récemment, de nombreux amis se sont plaints de la difficulté de travailler.

Faire de nombreuses tâches répétitives chaque jour

Tels que lire des nouvelles, envoyer des e-mails, vérifier la météo, ouvrir des signets, nettoyer des dossiers, etc.,

Avec les scripts automatisés, il n'est pas nécessaire d'effectuer manuellement ces tâches encore et encore,

C'est très pratique, y a-t-il du bois ? !

Et d'une certaine manière, Python est synonyme d'automatisation.

Venez apprendre avec vous aujourd'hui,

Améliorez l'efficacité du travail avec 8 scripts d'automatisation Python ~ Happy Fishing ~

1. Lire automatiquement les actualités Web

Ce script peut récupérer du texte sur des pages Web, puis le lire automatiquement à haute voix, ce qui est un bon choix lorsque vous souhaitez écouter les actualités.

Le code est divisé en deux parties, la première consiste à parcourir le texte de la page Web via le robot d'exploration, 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 pour extraire des informations à partir de pages Web explorées ;
  • demandes - un outil HTTP facile à utiliser pour envoyer des demandes à des pages Web pour obtenir des données ;
  • Pyttsx3 - convertit le texte en parole et contrôle le débit, la fréquence et la parole ;
import pyttsx3
import requests
from bs4 import BeautifulSoup
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 article\n"))
res = requests.get(text)

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()

2. Exploration automatisée des données

L'exploration de 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 vous souhaitez améliorer l'efficacité, Dtale est un bon choix.

Dtale propose des rapports d'analyse automatisés générés avec une seule ligne de code, il combine le backend Flask avec le frontend React, nous donnant un moyen facile de visualiser et d'analyser les structures de données Pandas.

Nous pouvons utiliser Dtale sur Jupyter.

Bibliothèques tierces requises :

  • Dtale - Générez 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

3. Envoyez automatiquement plusieurs e-mails

Ce script peut nous aider à envoyer des e-mails par lots à intervalles réguliers, et le contenu et les pièces jointes des e-mails 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 :

  • E-mail - pour gérer les e-mails ;
  • Smtlib - envoie des e-mails à un serveur SMTP, il définit un objet de session client SMTP qui peut envoyer des e-mails à n'importe quel ordinateur sur Internet avec un écouteur SMTP ou ESMTP ;
  • Pandas - outil de nettoyage pour l'analyse des données ;
import smtplib 
from email.message import EmailMessage

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("[email protected]","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]

4. Convertir un PDF en fichier audio

Le script peut convertir un pdf en fichier audio, le principe est également très simple, utilisez d'abord PyPDF pour extraire le texte dans le 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() 

5. Jouez de la musique au hasard dans la liste

Ce script sélectionnera au hasard une chanson dans le dossier des chansons à jouer,

Notez 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]))  

6. Informations météo intelligentes

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 suffit donc de retirer les champs correspondants de json.

Voici l'URL de la météo de la ville désignée (comté, district), ouvrez l'URL directement 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 Le site 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 de la course est le suivant :

7. Remplacez les URL longues par des URL courtes

Parfois, ces grandes URL deviennent très ennuyeuses et difficiles à lire et à partager, ce script peut transformer de longues URL en 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 plate-forme de contenu qui bloque les articles du compte officiel, le lien vers l'article du compte officiel peut être transformé en un lien court, puis inséré dedans pour obtenir un contournement.

8. Nettoyez le dossier de téléchargement

L'une des choses les plus déroutantes au monde est le dossier de téléchargement du développeur,

Il y a beaucoup de fichiers en désordre à l'intérieur.

Ce script nettoiera votre dossier de téléchargements en fonction de la limite de taille,

Nettoyage limité des anciens fichiers.

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]) 

C'est tout pour l'article d'aujourd'hui ~

Les frères apprennent le python, parfois ils ne savent pas comment apprendre et par où commencer. Après avoir maîtrisé quelques bases de grammaire ou fait deux cas, je ne sais pas quoi faire ensuite, et je ne sais pas comment acquérir des connaissances plus avancées.
Donc pour ces grands frères, j'ai préparé beaucoup de matériel, des e-books PDF et du code source ! Tout est sur la carte ci-dessous.

Enfin, je vous recommande une série de vidéos sur le crawler Python : le code oublie toujours après l'apprentissage ? 100 projets de combat sur chenilles ! Laissez-vous tenter par l'apprentissage 丨 Appliquez ce que vous apprenez 丨 Le prochain dieu Python, c'est vous !

Guess you like

Origin blog.csdn.net/ooowwq/article/details/126558347