Hallo zusammen! Ich bin ein roter Panda ❤
In letzter Zeit sind viele Wanderarbeiter zu mir gekommen und haben es mir gesagtEs ist schwer zu arbeiten
täglich viele sich wiederholende Aufgaben erledigen ,
Z.BLesen Sie Nachrichten, senden Sie E-Mails, checken Sie das Wetter, öffnen Sie Lesezeichen, räumen Sie Ordner aufund viele mehr,
Mit automatisierten Skripten müssen diese Aufgaben nicht immer wieder manuell erledigt werden,
Es ist sehr praktisch. Gibt es Holz? !
Und in gewisser Weise ist Python gleichbedeutend mit Automatisierung.
Komm und lerne heute mit dir,
Verbessern Sie die Arbeitseffizienz mit 8 Python-Automatisierungsskripten ~ Happy Fishing ~
1. Webnachrichten automatisch lesen
Dieses Skript kann Text von Webseiten kratzen und ihn dann automatisch laut vorlesen, was eine gute Wahl ist, wenn Sie Nachrichten hören möchten.
Der Code ist in zwei Teile unterteilt, der erste besteht darin, den Text der Webseite durch den Crawler zu crawlen, und der zweite besteht darin, den Text durch das Lesetool laut vorzulesen.
Erforderliche Bibliotheken von Drittanbietern:
- Beautiful Soup – Klassischer HTML/XML-Textparser zum Extrahieren von Informationen aus gecrawlten Webseiten
- Anfragen - Ein benutzerfreundliches HTTP-Tool zum Senden von Anfragen an Webseiten zum Abrufen von Daten
- Pyttsx3 - Konvertieren Sie Text in Sprache und steuern Sie Rate, Frequenz und Sprache
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. Automatisierte Datenexploration
Die Datenexploration ist der erste Schritt in einem Data-Science-Projekt. Sie müssen die grundlegenden Informationen der Daten verstehen, um den tieferen Wert weiter zu analysieren.
Im Allgemeinen verwenden wir Pandas, Matplotlib und andere Tools, um Daten zu untersuchen, aber wir müssen viel Code selbst schreiben. Wenn Sie die Effizienz verbessern möchten, ist Dtale eine gute Wahl.
Dtale verfügt über einen automatisierten Analysebericht mit einer einzigen Codezeile, der das Flask-Backend mit dem React-Frontend kombiniert und uns eine einfache Möglichkeit bietet, Pandas-Datenstrukturen anzuzeigen und zu analysieren.
Wir können Dtale auf Jupyter verwenden.
Erforderliche Bibliotheken von Drittanbietern:
- Dtale - Generieren Sie automatisch Analyseberichte
### 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. Senden Sie automatisch mehrere E-Mails
Dieses Skript kann uns helfen, E-Mails in regelmäßigen Abständen stapelweise zu versenden, und auch der Inhalt und die Anhänge von E-Mails können angepasst und angepasst werden, was sehr praktisch ist.
Im Vergleich zu E-Mail-Clients besteht der Vorteil von Python-Skripten darin, dass sie E-Mail-Dienste intelligent, in Stapeln und mit hoher Anpassungsfähigkeit bereitstellen können.
Erforderliche Bibliotheken von Drittanbietern:
- E-Mail – zum Verwalten von E-Mail-Nachrichten;
- Smtlib - E-Mail an einen SMTP-Server senden, definiert ein SMTP-Client-Sitzungsobjekt, das E-Mails an jeden
Computer im Internet mit einem SMTP- oder ESMTP-Listener senden kann; - Pandas - Reinigungstool für die Datenanalyse;
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. PDF in Audiodatei konvertieren
Das Skript kann PDF in Audiodatei konvertieren,
Das Prinzip ist auch sehr einfach,
Extrahieren Sie zuerst den Text im PDF mit PyPDF,
Verwenden Sie dann Pyttsx3, um den Text in Sprache umzuwandeln.
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. Spielen Sie zufällige Musik aus der Liste
Dieses Skript wählt zufällig einen Song aus dem Songs-Ordner zum Abspielen aus,
Beachten Sie, dass os.startfile nur Windows-Systeme unterstützt.
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. Intelligente Wetterinformationen
Die Website des Nationalen Wetterdienstes bietet eine API zum Abrufen von Wettervorhersagen, die Wetterdaten direkt im json-Format zurückgibt. Nehmen Sie also einfach die entsprechenden Felder aus json heraus.
Das Folgende ist die URL des Wetters der angegebenen Stadt (Landkreis, Bezirk), öffnen Sie die URL direkt, und die Wetterdaten der entsprechenden Stadt werden zurückgegeben. zum Beispiel:
http://www.weather.com.cn/data/cityinfo/101021200.html Die Wetter-Website für den Bezirk Xuhui, Shanghai.
Der spezifische Code lautet wie folgt:
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)
Das Ergebnis des Laufs ist wie folgt:
7. Ändern Sie lange URLs in kurze URLs
Manchmal werden diese großen URLs wirklich nervig,
Dieses Skript ist schwer zu lesen und zu teilen und kann lange URLs in kurze umwandeln.
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()
Dieses Skript ist sehr nützlich,
Beispielsweise gibt es Content-Plattformen, die offizielle Account-Artikel sperren.
Dann können Sie den Link des offiziellen Account-Artikels in einen Kurzlink umwandeln,
Dann schließen Sie es an und Sie können es umgehen.
8. Bereinigen Sie den Download-Ordner
Eines der verwirrendsten Dinge der Welt ist der Download-Ordner des Entwicklers,
Es gibt viele unordentliche Dateien darin.
Dieses Skript bereinigt Ihren Download-Ordner entsprechend der Größenbeschränkung.
Begrenzte Bereinigung älterer Dateien.
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])