5 个方便好用的 Python 自动化脚本,拿来就用

打印 上一主题 下一主题

主题 926|帖子 926|积分 2778

前言

相比大家都听过自动化生产线、自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作
效率。
编程世界里有各种各样的自动化脚本,来完成不同的任务。
尤其Python非常适合编写自动化脚本,因为它语法简洁易懂,而且有丰富的第三方工具库。
这次我们使用Python来实现几个自动化场景,或许可以用到你的工作中。

1、自动化阅读网页新闻

这个脚本能够实现从网页中抓取文本,然后自动化语音朗读,当你想听新闻的时候,这是个不错的选择。
代码分为两大部分,第一通过爬虫抓取网页文本呢,第二通过阅读工具来朗读文本。
需要的第三方库:
Beautiful Soup - 经典的HTML/XML文本解析器,用来提取爬下来的网页信息
requests - 好用到逆天的HTTP工具,用来向网页发送请求获取数据
  1. python学习交流Q群:903971231###
  2. Pyttsx3 - 将文本转换为语音,并控制速率、频率和语音
  3. import pyttsx3
  4. import requests
  5. from bs4 import BeautifulSoup
  6. engine = pyttsx3.init('sapi5')
  7. voices = engine.getProperty('voices')
  8. newVoiceRate = 130                       ## Reduce The Speech Rate
  9. engine.setProperty('rate',newVoiceRate)
  10. engine.setProperty('voice', voices[1].id)
  11. def speak(audio):
  12.   engine.say(audio)
  13.   engine.runAndWait()
  14. text = str(input("Paste article\n"))
  15. res = requests.get(text)
  16. soup = BeautifulSoup(res.text,'html.parser')
  17. articles = []
  18. for i in range(len(soup.select('.p'))):
  19.     article = soup.select('.p')[i].getText().strip()
  20.     articles.append(article)
  21. text = " ".join(articles)
  22. speak(text)
  23. # engine.save_to_file(text, 'test.mp3') ## If you want to save the speech as a audio file
  24. engine.runAndWait()
复制代码
 

2、自动生成素描草图

这个脚本可以把彩色图片转化为铅笔素描草图,对人像、景色都有很好的效果。
而且只需几行代码就可以一键生成,适合批量操作,非常的快捷。
需要的第三方库:
  1. Opencv - 计算机视觉工具,可以实现多元化的图像视频处理,有Python接口
  2.   """ Photo Sketching Using Python """
  3.   import cv2
  4.   img = cv2.imread("elon.jpg")
  5.   ## Image to Gray Image
  6.   gray_image = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
  7.   ## Gray Image to Inverted Gray Image
  8.   inverted_gray_image = 255-gray_image
  9.   ## Blurring The Inverted Gray Image
  10.   blurred_inverted_gray_image = cv2.GaussianBlur(inverted_gray_image, (19,19),0)
  11.   ## Inverting the blurred image
  12.   inverted_blurred_image = 255-blurred_inverted_gray_image
  13.   ### Preparing Photo sketching
  14.   sketck = cv2.divide(gray_image, inverted_blurred_image,scale= 256.0)
  15.   cv2.imshow("Original Image",img)
  16.   cv2.imshow("Pencil Sketch", sketck)
  17.   cv2.waitKey(0)
复制代码
 

3、自动发送多封邮件

这个脚本可以帮助我们批量定时发送邮件,邮件内容、附件也可以自定义调整,非常的实用。
相比较邮件客户端,Python脚本的优点在于可以智能、批量、高定制化地部署邮件服务。
需要的第三方库:
Email - 用于管理电子邮件消息
Smtlib - 向SMTP服务器发送电子邮件,它定义了一个 SMTP 客户端会话对象,该对象可将邮件发送到互联网上任何带有 SMTP 或 ESMTP 监听程序的计算机
  1. Pandas - 用于数据分析清洗地工具
  2. import smtplib
  3. from email.message import EmailMessage
  4. import pandas as pd
  5. def send_email(remail, rsubject, rcontent):
  6.     email = EmailMessage()                          ## Creating a object for EmailMessage
  7.     email['from'] = 'The Pythoneer Here'            ## Person who is sending
  8.     email['to'] = remail                            ## Whom we are sending
  9.     email['subject'] = rsubject                     ## Subject of email
  10.     email.set_content(rcontent)                     ## content of email
  11.     with smtplib.SMTP(host='smtp.gmail.com',port=587)as smtp:     
  12.         smtp.ehlo()                                 ## server object
  13.         smtp.starttls()                             ## used to send data between server and client
  14.         smtp.login("deltadelta371@gmail.com","delta@371") ## login id and password of gmail
  15.         smtp.send_message(email)                    ## Sending email
  16.         print("email send to ",remail)              ## Printing success message
  17. if __name__ == '__main__':
  18.     df = pd.read_excel('list.xlsx')
  19.     length = len(df)+1
  20.     for index, item in df.iterrows():
  21.         email = item[0]
  22.         subject = item[1]
  23.         content = item[2]
  24.         send_email(email,subject,content)
复制代码
 

4、自动化数据探索

数据探索是数据科学项目的第一步,你需要了解数据的基本信息才能进一步分析更深的价值。
一般我们会用pandas、matplotlib等工具来探索数据,但需要自己编写大量代码,如果想提高效率,Dtale是个不错的选择。
Dtale特点是用一行代码生成自动化分析报告,它结合了Flask后端和React前端,为我们提供了一种查看和分析Pandas数据结构的简便方法。
我们可以在Jupyter上实用Dtale。
需要的第三方库:
  1. python学习交流Q群:903971231###
  2. Dtale - 自动生成分析报告
  3. ### Importing Seaborn Library For Some Datasets
  4. import seaborn as sns
  5. ### Printing Inbuilt Datasets of Seaborn Library
  6. print(sns.get_dataset_names())
  7. ### Loading Titanic Dataset
  8. df=sns.load_dataset('titanic')
  9. ### Importing The Library
  10. import dtale
  11. #### Generating Quick Summary
  12. dtale.show(df)
复制代码
 
5、自动桌面提示

这个脚本会自动触发windows桌面通知,提示重要事项,比如说:您已工作两小时,该休息了
我们可以设定固定时间提示,比如隔10分钟、1小时等
用到的第三方库:
  1. win10toast - 用于发送桌面通知的工具
  2. from win10toast import ToastNotifier
  3. import time
  4. toaster = ToastNotifier()
  5. header = input("What You Want Me To Remember\n")
  6. text = input("Releated Message\n")
  7. time_min=float(input("In how many minutes?\n"))
  8. time_min = time_min * 60
  9. print("Setting up reminder..")
  10. time.sleep(2)
  11. print("all set!")
  12. time.sleep(time_min)
  13. toaster.show_toast(f"{header}", f"{text}", duration=10, threaded=True)
  14. while toaster.notification_active(): time.sleep(0.005)     
复制代码
 

小结
Python能实现的自动化功能非常丰富,如果你可以“偷懒”的需求场景不妨试试。这一篇到这里就结束了,下一篇才能见面了,爱你~~~


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

去皮卡多

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表