久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

python 自動(dòng)化偷懶的四個(gè)實(shí)用操作

瀏覽:6日期:2022-06-22 17:02:59

自動(dòng)化有助于解放人們的工作。不過說實(shí)話,即使對(duì)簡單的任務(wù)自動(dòng)化也需要時(shí)間和大量的依賴關(guān)系管理,而這可能非常復(fù)雜。

Python對(duì)于幾乎所有東西的交互都很友好。從發(fā)送HTTP請(qǐng)求、與API交互、到加載和管理數(shù)據(jù)庫都是如此。因此Python是自動(dòng)化的絕佳選擇。

以下是用Python實(shí)現(xiàn)自動(dòng)化的四項(xiàng)簡單操作,可以幫助完成各種工作流程和項(xiàng)目。

1.自動(dòng)移動(dòng)鼠標(biāo),以便Skype / Lynk顯示你在工作中處于活動(dòng)狀態(tài)

想象一下,在過去十分鐘內(nèi),你一直在瀏覽最喜愛的社交媒體應(yīng)用中的新聞。突然,Lynk軟件中的活動(dòng)符號(hào)變黃,這表明你沒有工作,也沒有參加會(huì)議。

這時(shí)你愛管閑事的老板走了過來,輕拍你的肩膀。

你很驚訝地抬頭,看見老板正瞪著你,因?yàn)樗袀€(gè)每時(shí)每刻都管理員工的壞習(xí)慣。

“嘿,我希望你放松一下,但告訴我那個(gè)模塊是怎么出現(xiàn)的?!彼麊柕?。你咬緊牙關(guān),提供了某種禮貌的答案。

“棒極了,好吧,我只是想確保你能集中注意力。副總裁Janice真的希望我們能夠在截止日期前完成任務(wù)?!?/p>

交談結(jié)束。

要是Lynk軟件的活動(dòng)符號(hào)沒有變黃該有多好?

其實(shí)你可以解決這個(gè)問題。在谷歌搜索片刻之后,可找到腳本來移動(dòng)鼠標(biāo)并開始編寫代碼,通過每隔幾分鐘運(yùn)行一次程序以確保鼠標(biāo)移動(dòng)。

在使用Skype或Lynk時(shí),鼠標(biāo)和鍵盤的這些移動(dòng)可以使你看起來像是在工作中保持活躍狀態(tài)。

自動(dòng)化工作使用Python的PyAutoGUI模塊。要安裝PyAutoGUI模塊,請(qǐng)運(yùn)行以下命令:

pip install pyautogui

Python使用屏幕的坐標(biāo)系控制并跟蹤鼠標(biāo)。例如,如果屏幕是1920x1080的分辨率,屏幕的坐標(biāo)系統(tǒng)將如下所示:

python 自動(dòng)化偷懶的四個(gè)實(shí)用操作

PyAutoGUI模塊提供以下功能:

•size():size()函數(shù)可讓你了解屏幕分辨率。import pyautoguiprint(pyautogui.size())

運(yùn)行此文件(保存為.py擴(kuò)展名),Python代碼使用size()函數(shù)輸出屏幕分辨率的x、y格式:

•moveTo():PyAutoGUI模塊中的moveTo()函數(shù)可移動(dòng)鼠標(biāo)。下面的代碼運(yùn)用了函數(shù),該函數(shù)采用x和y的坐標(biāo)以及可選的duration(持續(xù)時(shí)間)參數(shù),使用指定的duration參數(shù)將鼠標(biāo)指針從當(dāng)前位置移動(dòng)到x和y的坐標(biāo)。import pyautoguiprint(pyautogui.size())pyautogui.moveTo(150,100, duration = 2)

運(yùn)行此Python腳本會(huì)發(fā)現(xiàn)鼠標(biāo)指針神奇地從其當(dāng)前位置移動(dòng)到坐標(biāo)(150,100),只用2秒鐘就能完成該過程。

除了其中一些基礎(chǔ)知識(shí)外,還可以使用click和typewrite等函數(shù),實(shí)現(xiàn)單擊和輸入字符串的自動(dòng)化。

這些都可以用來確保你的老板不會(huì)很快抓住你在工作中開小差。

2.使用Selenium自動(dòng)化網(wǎng)站登錄過程

許多網(wǎng)站都不愿看到用戶使用爬蟲和程序登錄其網(wǎng)站。但是,這仍然是一種很值得一學(xué)的技能。

Selenium是一個(gè)有用的庫,可使用多種語言、幫助自動(dòng)化UI QA、甚至可以通過登錄來抓取網(wǎng)站。

雖然學(xué)習(xí)Selenium可能需要一些時(shí)間,但不必學(xué)些很難的知識(shí)點(diǎn),只需構(gòu)建一個(gè)可以登錄你喜歡的網(wǎng)站的工具。

開始使用前,必須安裝Chrome驅(qū)動(dòng)程序和適用于Python的Selenium庫。使用以下命令添加Selenium庫:

Pip install Selenium

首先,需要從Python的Selenium庫中導(dǎo)入一些選定的模塊。添加以下命令:

From selenium import webdriverdriver = webdriver.Chrome()

現(xiàn)在,為了實(shí)現(xiàn)自動(dòng)登錄,從一個(gè)簡單的任務(wù)開始,比如填寫網(wǎng)站的登錄表單。

任務(wù)包括:

導(dǎo)航到網(wǎng)站 查找登錄字段(通常是用戶名和密碼)。 填寫登錄詳情信息。 提交登錄詳情信息,自動(dòng)完成屏幕登錄。

建議:可以定義“方法”(用于頻繁登錄)從而在其他測(cè)試中啟用重用。 代碼行可參考:

From selenium import webdriverdriver = 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)建登錄到站點(diǎn)的Web抓取器或自動(dòng)登錄網(wǎng)站的腳本的難點(diǎn)之一。

有幾種方法可以檢測(cè)Web應(yīng)用程序的元素,以查找登錄字段。

查找元素的常用方法包括ID(如上例所示)、CSS選擇器、名稱和XPaths。

可以在Selenium的官方文檔中找到用于定位登錄過程涉及的元素的不同方法。有些網(wǎng)站會(huì)使用更多動(dòng)態(tài)內(nèi)容(比如好幾個(gè)JavaScript?。?/p>

總的來說,看著Selenium自動(dòng)點(diǎn)擊按鈕并登錄到你喜愛的網(wǎng)站這一自動(dòng)化流程十分吸引人。不需要你的參與就能完成移動(dòng)與操作。 幾乎就像在變魔術(shù)!

3.自動(dòng)文件備份

如果要執(zhí)行常規(guī)備份,那么創(chuàng)建自動(dòng)備份文件非常有用。

你可能熟悉ZIP文件(擴(kuò)展名為.zip的文件)。ZIP文件可以包含多個(gè)具有壓縮內(nèi)容的文件。而且,由于ZIP文件還可以容納許多文件夾和子文件夾,因此通過將文件打包成一個(gè)文件,可成為備份文件的便捷方式。

可以使用zipfile模塊中的Python函數(shù)自動(dòng)創(chuàng)建單個(gè)ZIP文件(稱為存檔文件)。還可以使用Python打開(或提?。㈱IP文件。該腳本如下所示:

import zipfile, osdef backup(folder)folder = os.path.abspath(folder)offset = 1while True: zip_name = os.path.basename(folder) + ’_’ + str(offset) + ’.zip’if not os.path.exists(zip_name): breakoffset += 1print('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')4.自動(dòng)將YouTube視頻發(fā)布到Reddit主題

我們最近看到和想到的另一個(gè)一勞永逸的想法是自動(dòng)執(zhí)行可能經(jīng)常執(zhí)行的任務(wù):使用腳本將多個(gè)視頻發(fā)布到Reddit上。

在Reddit帖子中發(fā)布YouTube視頻也可以實(shí)現(xiàn)自動(dòng)化。使用PRAW(一種允許抓取數(shù)據(jù)的Python包裝器)可以為Reddit體驗(yàn)提供更多功能。

開始使用前,請(qǐng)使用pip安裝PRAW。

下面的腳本會(huì)自動(dòng)將YouTube視頻發(fā)布到Reddit主題。

import prawvideo_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')結(jié)論

自動(dòng)化任務(wù)可以帶來很多樂趣,特別是看著程序自動(dòng)登錄喜歡的站點(diǎn),或?qū)?shù)百個(gè)文件加載到數(shù)據(jù)庫中。

而且,還有很多優(yōu)秀的庫可以幫助輕松地實(shí)現(xiàn)任務(wù)自動(dòng)化。只要庫是可維護(hù)的,Excel報(bào)告、電子郵件和其他任務(wù)就可以通過幾行代碼簡化。

以上就是python 自動(dòng)化偷懶的四個(gè)實(shí)用操作的詳細(xì)內(nèi)容,更多關(guān)于python 自動(dòng)化實(shí)用操作的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 建始县| 托克逊县| 水城县| 大石桥市| 南华县| 盐亭县| 丽江市| 砚山县| 莲花县| 宽城| 沛县| 涟源市| 辰溪县| 洞头县| 五莲县| 吉安市| 陕西省| 定陶县| 霸州市| 汽车| 辽中县| 沈阳市| 灵台县| 牙克石市| 永修县| 东方市| 临沭县| 翼城县| 商南县| 桂林市| 大名县| 莲花县| 嫩江县| 错那县| 鹤庆县| 镇赉县| 定安县| 广平县| 蒙城县| 阿克陶县| 英超|