自動化有助于解放人們的工作。不過說實話,即使對簡單的任務(wù)自動化也需要時間和大量的依賴關(guān)系管理,而這可能非常復(fù)雜。
Python對于幾乎所有東西的交互都很友好。從發(fā)送HTTP請求、與API交互、到加載和管理數(shù)據(jù)庫都是如此。因此Python是自動化的絕佳選擇。
以下是用Python實現(xiàn)自動化的四項簡單操作,可以幫助完成各種工作流程和項目。
想象一下,在過去十分鐘內(nèi),你一直在瀏覽最喜愛的社交媒體應(yīng)用中的新聞。突然,Lynk軟件中的活動符號變黃,這表明你沒有工作,也沒有參加會議。
這時你愛管閑事的老板走了過來,輕拍你的肩膀。
你很驚訝地抬頭,看見老板正瞪著你,因為他有個每時每刻都管理員工的壞習(xí)慣。
“嘿,我希望你放松一下,但告訴我那個模塊是怎么出現(xiàn)的?!彼麊柕馈D阋Ьo牙關(guān),提供了某種禮貌的答案。
“棒極了,好吧,我只是想確保你能集中注意力。副總裁Janice真的希望我們能夠在截止日期前完成任務(wù)?!?/p>
交談結(jié)束。
要是Lynk軟件的活動符號沒有變黃該有多好?
其實你可以解決這個問題。在谷歌搜索片刻之后,可找到腳本來移動鼠標(biāo)并開始編寫代碼,通過每隔幾分鐘運行一次程序以確保鼠標(biāo)移動。
在使用Skype或Lynk時,鼠標(biāo)和鍵盤的這些移動可以使你看起來像是在工作中保持活躍狀態(tài)。
自動化工作使用Python的PyAutoGUI模塊。要安裝PyAutoGUI模塊,請運行以下命令:
pip install pyautogui
Python使用屏幕的坐標(biāo)系控制并跟蹤鼠標(biāo)。例如,如果屏幕是1920x1080的分辨率,屏幕的坐標(biāo)系統(tǒng)將如下所示:
PyAutoGUI模塊提供以下功能:
•size():size()函數(shù)可讓你了解屏幕分辨率。 import pyautogui print(pyautogui.size())
運行此文件(保存為.py擴展名),Python代碼使用size()函數(shù)輸出屏幕分辨率的x、y格式:
•moveTo():PyAutoGUI模塊中的moveTo()函數(shù)可移動鼠標(biāo)。下面的代碼運用了函數(shù),該函數(shù)采用x和y的坐標(biāo)以及可選的duration(持續(xù)時間)參數(shù),使用指定的duration參數(shù)將鼠標(biāo)指針從當(dāng)前位置移動到x和y的坐標(biāo)。 import pyautogui print(pyautogui.size())pyautogui.moveTo(150,100, duration = 2)
運行此Python腳本會發(fā)現(xiàn)鼠標(biāo)指針神奇地從其當(dāng)前位置移動到坐標(biāo)(150,100),只用2秒鐘就能完成該過程。
除了其中一些基礎(chǔ)知識外,還可以使用click和typewrite等函數(shù),實現(xiàn)單擊和輸入字符串的自動化。
這些都可以用來確保你的老板不會很快抓住你在工作中開小差。
許多網(wǎng)站都不愿看到用戶使用爬蟲和程序登錄其網(wǎng)站。但是,這仍然是一種很值得一學(xué)的技能。
Selenium是一個有用的庫,可使用多種語言、幫助自動化UI QA、甚至可以通過登錄來抓取網(wǎng)站。
雖然學(xué)習(xí)Selenium可能需要一些時間,但不必學(xué)些很難的知識點,只需構(gòu)建一個可以登錄你喜歡的網(wǎng)站的工具。
開始使用前,必須安裝Chrome驅(qū)動程序和適用于Python的Selenium庫。使用以下命令添加Selenium庫:
Pip install Selenium
首先,需要從Python的Selenium庫中導(dǎo)入一些選定的模塊。添加以下命令:
From selenium import webdriverdriver = webdriver.Chrome()
現(xiàn)在,為了實現(xiàn)自動登錄,從一個簡單的任務(wù)開始,比如填寫網(wǎng)站的登錄表單。
任務(wù)包括:
建議:可以定義“方法”(用于頻繁登錄)從而在其他測試中啟用重用。 代碼行可參考:
From selenium import webdriver driver = webdriver.Chrome() def login(url,username,password,submit_button): driver.get(url) driver.find_element_by_id(username).send_keys("username") driver.find_element_by_id(password).send_keys("password") driver.find_element_by_id(password).(submit_button).click()
注意,你需要獲取要與之交互的元素。這可以說是創(chuàng)建登錄到站點的Web抓取器或自動登錄網(wǎng)站的腳本的難點之一。
有幾種方法可以檢測Web應(yīng)用程序的元素,以查找登錄字段。
查找元素的常用方法包括ID(如上例所示)、CSS選擇器、名稱和XPaths。
可以在Selenium的官方文檔中找到用于定位登錄過程涉及的元素的不同方法。有些網(wǎng)站會使用更多動態(tài)內(nèi)容(比如好幾個JavaScript?。?/p>
總的來說,看著Selenium自動點擊按鈕并登錄到你喜愛的網(wǎng)站這一自動化流程十分吸引人。不需要你的參與就能完成移動與操作。 幾乎就像在變魔術(shù)!
如果要執(zhí)行常規(guī)備份,那么創(chuàng)建自動備份文件非常有用。
你可能熟悉ZIP文件(擴展名為.zip的文件)。ZIP文件可以包含多個具有壓縮內(nèi)容的文件。而且,由于ZIP文件還可以容納許多文件夾和子文件夾,因此通過將文件打包成一個文件,可成為備份文件的便捷方式。
可以使用zipfile模塊中的Python函數(shù)自動創(chuàng)建單個ZIP文件(稱為存檔文件)。還可以使用Python打開(或提取)ZIP文件。該腳本如下所示:
import zipfile, os def backup(folder) folder = os.path.abspath(folder) offset = 1 while True: zip_name = os.path.basename(folder) + '_' + str(offset) + '.zip' if not os.path.exists(zip_name): break offset += 1 print("Successfully created file " % s " %(zip_name)) backupzip = zipfile.ZipFile(zip_name, 'w') for foldername, subfolders, filenames in os.walk(folder): backupzip.write(foldername) backupzip.close() print("done")
我們最近看到和想到的另一個一勞永逸的想法是自動執(zhí)行可能經(jīng)常執(zhí)行的任務(wù):使用腳本將多個視頻發(fā)布到Reddit上。
在Reddit帖子中發(fā)布YouTube視頻也可以實現(xiàn)自動化。使用PRAW(一種允許抓取數(shù)據(jù)的Python包裝器)可以為Reddit體驗提供更多功能。
開始使用前,請使用pip安裝PRAW。
下面的腳本會自動將YouTube視頻發(fā)布到Reddit主題。
import praw video_url = str(input("Your video url:")) post_msg = str(input("Your post message")) reddit = praw.Reddit(client_id = "***************", client_secret = "************", user_agent = "**********", username = "************", password = "***********") subreddit_list = ["Python", "PytonProjects", "learningprogramming"] for i in subreddit_list: subreddit = reddit.subreddit(i) print("Posting video to" + i) subreddit.submit(post_msg, url = video_url) print("Done")
自動化任務(wù)可以帶來很多樂趣,特別是看著程序自動登錄喜歡的站點,或?qū)?shù)百個文件加載到數(shù)據(jù)庫中。
而且,還有很多優(yōu)秀的庫可以幫助輕松地實現(xiàn)任務(wù)自動化。只要庫是可維護的,Excel報告、電子郵件和其他任務(wù)就可以通過幾行代碼簡化。
以上就是python 自動化偷懶的四個實用操作的詳細內(nèi)容,更多關(guān)于python 自動化實用操作的資料請關(guān)注腳本之家其它相關(guān)文章!
標(biāo)簽:駐馬店 中山 湖州 江蘇 呼和浩特 股票 畢節(jié) 衡水
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python 自動化偷懶的四個實用操作》,本文關(guān)鍵詞 python,自動化,偷懶,的,四個,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。