Rumah >pembangunan bahagian belakang >Tutorial Python >Lapan skrip automasi Python sedia untuk digunakan!

Lapan skrip automasi Python sedia untuk digunakan!

WBOY
WBOYke hadapan
2023-04-13 18:10:031451semak imbas

Lapan skrip automasi Python sedia untuk digunakan!

Setiap hari anda mungkin melakukan banyak tugas berulang, seperti membaca berita, menghantar e-mel, menyemak cuaca, membersihkan folder, dll. Dengan skrip automatik, anda tidak perlu melakukannya secara manual lagi dan lagi Sangat mudah untuk menyelesaikan tugasan ini. Pada tahap tertentu, Python adalah sinonim dengan automasi.

Hari ini saya berkongsi 8 skrip automasi Python yang sangat berguna. Jika anda suka, ingat untuk mengumpul, mengikuti dan suka.

1. Membaca berita web secara automatik

Skrip ini boleh menangkap teks daripada halaman web dan kemudian membacanya secara automatik Apabila anda ingin mendengar berita, ini Bukan pilihan yang buruk.

Kod terbahagi kepada dua bahagian Yang pertama adalah untuk merangkak teks halaman web, dan yang kedua ialah membaca teks dengan kuat melalui alat membaca.

Pustaka pihak ketiga yang diperlukan:

Sup Cantik - penghurai teks HTML/XML klasik, digunakan untuk mengekstrak maklumat halaman web yang dirangkak.

permintaan - Alat HTTP yang sangat berguna untuk menghantar permintaan ke halaman web untuk mendapatkan data.

Pyttsx3 - Tukar teks kepada pertuturan dan kadar kawalan, kekerapan dan suara.

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

2. Penerokaan data automatik

Penerokaan data ialah langkah pertama dalam projek sains data Anda perlu memahami maklumat asas data untuk menganalisis dengan lebih mendalam nilai.

Secara amnya kami menggunakan panda, matplotlib dan alatan lain untuk meneroka data, tetapi kami perlu menulis sendiri banyak kod Jika kami ingin meningkatkan kecekapan, Dtale ialah pilihan yang baik.

Dtale dicirikan dengan menghasilkan laporan analisis automatik dengan satu baris kod Ia menggabungkan bahagian belakang Flask dan bahagian hadapan React untuk memberikan kami cara mudah untuk melihat dan menganalisis struktur data Pandas.

Kita boleh menggunakan Dtale pada Jupyter.

Pustaka pihak ketiga yang diperlukan:

Dtale - menjana laporan analisis secara automatik.

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

Lapan skrip automasi Python sedia untuk digunakan!

3 Hantar berbilang e-mel secara automatik

Skrip ini boleh membantu kami menghantar e-mel secara berkelompok pada masa yang dijadualkan, termasuk kandungan e-mel dan lampiran. Pelarasan tersuai sangat praktikal.

Berbanding dengan klien e-mel, kelebihan skrip Python ialah mereka boleh menggunakan perkhidmatan e-mel secara bijak, dalam kelompok dan dengan penyesuaian yang tinggi.

Perpustakaan pihak ketiga yang diperlukan:

E-mel - untuk menguruskan mesej e-mel

Smtlib - untuk menghantar e-mel ke pelayan SMTP, Ia mentakrifkan objek sesi klien SMTP yang boleh menghantar mel ke mana-mana komputer di Internet dengan pendengar SMTP atau ESMTP

Panda - Alat untuk analisis dan pembersihan data.

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)

4. Tukar PDF kepada fail audio

Skrip boleh menukar pdf kepada fail audio. Pertama, gunakan PyPDF untuk mengekstrak teks pdf, dan kemudian Text-to-speech menggunakan Pyttsx3.

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 Mainkan muzik rawak daripada senarai

Skrip ini akan memilih lagu secara rawak daripada folder lagu untuk dimainkan. startfile hanya disokong pada sistem 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. Maklumat cuaca pintar

Tapak web Perkhidmatan Cuaca Negara menyediakan API untuk mendapatkan ramalan cuaca, yang mengembalikan data cuaca secara langsung dalam format json. Jadi anda hanya perlu mengekstrak medan yang sepadan daripada json.

Berikut ialah URL cuaca untuk bandar yang ditetapkan (daerah, daerah Buka URL terus dan data cuaca bandar yang sepadan akan dikembalikan. Contohnya:

http://www.weather.com.cn/data/cityinfo/101021200.html URL cuaca yang sepadan dengan Daerah Xuhui, Shanghai.

Kod khusus adalah seperti berikut:

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)

Hasil larian adalah seperti berikut:

Lapan skrip automasi Python sedia untuk digunakan!

7 , URL Panjang ke URL Pendek

Kadangkala, URL besar itu menjadi sangat menjengkelkan dan sukar dibaca dan dikongsi, tendangan ini boleh menukar URL panjang menjadi URL pendek.

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

Skrip ini sangat praktikal Contohnya, jika terdapat platform kandungan yang menyekat artikel akaun awam, maka anda boleh menukar pautan artikel akaun awam kepada pautan pendek dan kemudian. masukkannya ke dalamnya. Bypass

8. Bersihkan Folder Muat Turun

Salah satu perkara yang paling mengelirukan di dunia ialah folder muat turun pembangun, yang mengandungi banyak yang tidak teratur Skrip ini akan membersihkan folder muat turun anda berdasarkan had saiz, dengan pembersihan terhad fail lama:

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

Atas ialah kandungan terperinci Lapan skrip automasi Python sedia untuk digunakan!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam