1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        5個(gè)方便好用的Python自動(dòng)化腳本

        共 4876字,需瀏覽 10分鐘

         ·

        2022-02-12 08:20

        導(dǎo)讀:這次我們使用Python來(lái)實(shí)現(xiàn)幾個(gè)自動(dòng)化場(chǎng)景,或許可以用到你的工作中。


        作者:朱衛(wèi)軍

        來(lái)源:Python大數(shù)據(jù)分析(ID:pydatas)





        相比大家都聽(tīng)過(guò)自動(dòng)化生產(chǎn)線、自動(dòng)化辦公等詞匯,在沒(méi)有人工干預(yù)的情況下,機(jī)器可以自己完成各項(xiàng)任務(wù),這大大提升了工作效率。


        編程世界里有各種各樣的自動(dòng)化腳本,來(lái)完成不同的任務(wù)。


        尤其Python非常適合編寫(xiě)自動(dòng)化腳本,因?yàn)樗Z(yǔ)法簡(jiǎn)潔易懂,而且有豐富的第三方工具庫(kù)。



        01 自動(dòng)化閱讀網(wǎng)頁(yè)新聞


        這個(gè)腳本能夠?qū)崿F(xiàn)從網(wǎng)頁(yè)中抓取文本,然后自動(dòng)化語(yǔ)音朗讀,當(dāng)你想聽(tīng)新聞的時(shí)候,這是個(gè)不錯(cuò)的選擇。


        代碼分為兩大部分,第一通過(guò)爬蟲(chóng)抓取網(wǎng)頁(yè)文本呢,第二通過(guò)閱讀工具來(lái)朗讀文本。


        需要的第三方庫(kù):


        • Beautiful Soup - 經(jīng)典的HTML/XML文本解析器,用來(lái)提取爬下來(lái)的網(wǎng)頁(yè)信息

        • requests - 好用到逆天的HTTP工具,用來(lái)向網(wǎng)頁(yè)發(fā)送請(qǐng)求獲取數(shù)據(jù)

        • Pyttsx3 - 將文本轉(zhuǎn)換為語(yǔ)音,并控制速率、頻率和語(yǔ)音


        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?article\n"))
        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()



        02 自動(dòng)生成素描草圖


        這個(gè)腳本可以把彩色圖片轉(zhuǎn)化為鉛筆素描草圖,對(duì)人像、景色都有很好的效果。


        而且只需幾行代碼就可以一鍵生成,適合批量操作,非常的快捷。


        需要的第三方庫(kù):


        • Opencv - 計(jì)算機(jī)視覺(jué)工具,可以實(shí)現(xiàn)多元化的圖像視頻處理,有Python接口


        """?Photo?Sketching?Using?Python?"""
        import?cv2
        img?=?cv2.imread("elon.jpg")

        ##?Image?to?Gray?Image
        gray_image?=?cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

        ##?Gray?Image?to?Inverted?Gray?Image
        inverted_gray_image?=?255-gray_image

        ##?Blurring?The?Inverted?Gray?Image
        blurred_inverted_gray_image?=?cv2.GaussianBlur(inverted_gray_image,?(19,19),0)

        ##?Inverting?the?blurred?image
        inverted_blurred_image?=?255-blurred_inverted_gray_image

        ###?Preparing?Photo?sketching
        sketck?=?cv2.divide(gray_image,?inverted_blurred_image,scale=?256.0)

        cv2.imshow("Original?Image",img)
        cv2.imshow("Pencil?Sketch",?sketck)

        cv2.waitKey(0)




        03 自動(dòng)發(fā)送多封郵件


        這個(gè)腳本可以幫助我們批量定時(shí)發(fā)送郵件,郵件內(nèi)容、附件也可以自定義調(diào)整,非常的實(shí)用。


        相比較郵件客戶端,Python腳本的優(yōu)點(diǎn)在于可以智能、批量、高定制化地部署郵件服務(wù)。


        需要的第三方庫(kù):


        • Email - 用于管理電子郵件消息

        • Smtlib - 向SMTP服務(wù)器發(fā)送電子郵件,它定義了一個(gè) SMTP 客戶端會(huì)話對(duì)象,該對(duì)象可將郵件發(fā)送到互聯(lián)網(wǎng)上任何帶有 SMTP 或 ESMTP 監(jiān)聽(tīng)程序的計(jì)算機(jī)

        • Pandas - 用于數(shù)據(jù)分析清洗地工具


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


        ????????send_email(email,subject,content)



        04 自動(dòng)化數(shù)據(jù)探索


        數(shù)據(jù)探索是數(shù)據(jù)科學(xué)項(xiàng)目的第一步,你需要了解數(shù)據(jù)的基本信息才能進(jìn)一步分析更深的價(jià)值。


        一般我們會(huì)用pandas、matplotlib等工具來(lái)探索數(shù)據(jù),但需要自己編寫(xiě)大量代碼,如果想提高效率,Dtale是個(gè)不錯(cuò)的選擇。


        Dtale特點(diǎn)是用一行代碼生成自動(dòng)化分析報(bào)告,它結(jié)合了Flask后端和React前端,為我們提供了一種查看和分析Pandas數(shù)據(jù)結(jié)構(gòu)的簡(jiǎn)便方法。


        我們可以在Jupyter上實(shí)用Dtale。


        需要的第三方庫(kù):


        • Dtale - 自動(dòng)生成分析報(bào)告


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




        05 自動(dòng)桌面提示


        這個(gè)腳本會(huì)自動(dòng)觸發(fā)windows桌面通知,提示重要事項(xiàng),比如說(shuō):您已工作兩小時(shí),該休息了。


        我們可以設(shè)定固定時(shí)間提示,比如隔10分鐘、1小時(shí)等。


        用到的第三方庫(kù):


        • win10toast - 用于發(fā)送桌面通知的工具


        from?win10toast?import?ToastNotifier
        import?time
        toaster?=?ToastNotifier()

        header?=?input("What?You?Want?Me?To?Remember\n")
        text?=?input("Releated?Message\n")
        time_min=float(input("In?how?many?minutes?\n"))

        time_min?=?time_min?*?60
        print("Setting?up?reminder..")
        time.sleep(2)
        print("all?set!")
        time.sleep(time_min)
        toaster.show_toast(f"{header}",?f"{text}",?duration=10,?threaded=True)

        while?toaster.notification_active():?time.sleep(0.005)?????




        小結(jié)


        Python能實(shí)現(xiàn)的自動(dòng)化功能非常豐富,如果你可以“偷懶”的需求場(chǎng)景不妨試試。


        參考:

        https://medium.com/pythoneers/10-handy-automation-scripts-you-should-try-using-python-fc9450116938?



        延伸閱讀??


        延伸閱讀《利用Python進(jìn)行數(shù)據(jù)分析


        干貨直達(dá)??



        更多精彩??

        在公眾號(hào)對(duì)話框輸入以下關(guān)鍵詞
        查看更多優(yōu)質(zhì)內(nèi)容!

        讀書(shū)?|?書(shū)單?|?干貨?|?講明白?|?神操作?|?手把手
        大數(shù)據(jù)?|?云計(jì)算?|?數(shù)據(jù)庫(kù)?|?Python?|?爬蟲(chóng)?|?可視化
        AI?|?人工智能?|?機(jī)器學(xué)習(xí)?|?深度學(xué)習(xí)?|?NLP
        5G?|?中臺(tái)?|?用戶畫(huà)像?|?數(shù)學(xué)?|?算法?|?數(shù)字孿生

        據(jù)統(tǒng)計(jì),99%的大咖都關(guān)注了這個(gè)公眾號(hào)
        ??
        瀏覽 17
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            樱井知香ともか吹潮大量 | 日日操天天操 | 特级大黄A片免费播放下载 | 欧美理论片在线观看 | 夜夜爽AV片 | 我操综合网 | 舌头伸进去舔我的好爽高潮 | 国产成人做爰A片免费胖人 | 日本操逼视频网站 | 骚少妇av |