在這個自動化時代,我們有很多重復無聊的工作要做。想想這些你不再需要一次又一次地做的無聊的事情,讓它自動化,讓你的生活更輕松。那么在本文中,我將向您介紹 10 個 Python 自動化腳本,以使你的工作更加自動化,生活更加輕松。因此,沒有更多的重復任務將這篇文章放在您的列表中,讓我們開始吧。
01、解析和提取 HTML
此自動化腳本將幫助你從網頁 URL 中提取 HTML,然后還為你提供可用于解析 HTML 以獲取數據的功能。這個很棒的腳本對于網絡爬蟲和那些想要解析 HTML 以獲取重要數據的人來說是一種很好的享受。
?
#?Parse?and?Extract?HTML #?pip?install?gazpacho import?gazpacho #?Extract?HTML?from?URL url?=?'https://www.example.com/' html?=?gazpacho.get(url) print(html) #?Extract?HTML?with?Headers headers?=?{'User-Agent':?'Mozilla/5.0'} html?=?gazpacho.get(url,?headers=headers) print(html) #?Parse?HTML parse?=?gazpacho.Soup(html) #?Find?single?tags tag1?=?parse.find('h1') tag2?=?parse.find('span') #?Find?multiple?tags tags1?=?parse.find_all('p') tags2?=?parse.find_all('a') #?Find?tags?by?class tag?=?parse.find('.class') #?Find?tags?by?Attribute tag?=?parse.find("div",?attrs={"class":?"test"}) #?Extract?text?from?tags text?=?parse.find('h1').text text?=?parse.find_all('p')[0].text
?
02、二維碼掃描儀
擁有大量二維碼圖像或只想掃描二維碼圖像,那么此自動化腳本將幫助你。該腳本使用 Qrtools 模塊,使你能夠以編程方式掃描 QR 圖像。
?
#?Qrcode?Scanner #?pip?install?qrtools from?qrtools?import?Qr def?Scan_Qr(qr_img): ????qr?=?Qr() ????qr.decode(qr_img) ????print(qr.data) ????return?qr.data ???? print("Your?Qr?Code?is:?",?Scan_Qr("qr.png"))
?
03、截圖
現在,你可以使用下面這個很棒的腳本以編程方式截取屏幕截圖。使用此腳本,你可以直接截屏或截取特定區域的屏幕截圖。
?
#?Grab?Screenshot #?pip?install?pyautogui #?pip?install?Pillow from?pyautogui?import?screenshot import?time from?PIL?import?ImageGrab #?Grab?Screenshot?of?Screen def?grab_screenshot(): ????shot?=?screenshot() ????shot.save('my_screenshot.png') ???? #?Grab?Screenshot?of?Specific?Area def?grab_screenshot_area(): ????area?=?(0,?0,?500,?500) ????shot?=?ImageGrab.grab(area) ????shot.save('my_screenshot_area.png') ???? #?Grab?Screenshot?with?Delay def?grab_screenshot_delay(): ????time.sleep(5) ????shot?=?screenshot() ????shot.save('my_screenshot_delay.png')
?
04、創建有聲讀物
厭倦了手動將您的 PDF 書籍轉換為有聲讀物,那么這是你的自動化腳本,它使用 GTTS 模塊將你的 PDF 文本轉換為音頻。
?
#?Create?Audiobooks #?pip?install?gTTS #?pip?install?PyPDF2 from?PyPDF2?import?PdfFileReader?as?reader from?gtts?import?gTTS def?create_audio(pdf_file): ????read_Pdf?=?reader(open(pdf_file,?'rb')) ????for?page?in?range(read_Pdf.numPages): ????????text?=?read_Pdf.getPage(page).extractText() ????????tts?=?gTTS(text,?lang='en') ????????tts.save('page'?+?str(page)?+?'.mp3') ???????? create_audio('book.pdf')
?
05、PDF 編輯器
使用以下自動化腳本使用 Python 編輯 PDF 文件。該腳本使用 PyPDF4 模塊,它是 PyPDF2 的升級版本,下面我編寫了 Parse Text、Remove pages 等常用功能。當你有大量 PDF 文件要編輯或需要以編程方式在 Python 項目中使用腳本時,這是一個方便的腳本。
?
#?PDF?Editor #?pip?install?PyPDf4 import?PyPDF4 #?Parse?the?Text?from?PDF def?parse_text(pdf_file): ????reader?=?PyPDF4.PdfFileReader(pdf_file) ????for?page?in?reader.pages: ????????print(page.extractText()) ???????? #?Remove?Page?from?PDF def?remove_page(pdf_file,?page_numbers): ????filer?=?PyPDF4.PdfReader('source.pdf',?'rb') ????out?=?PyPDF4.PdfWriter() ????for?index?in?page_numbers: ????????page?=?filer.pages[index]? ????????out.add_page(page) with?open('rm.pdf',?'wb')?as?f: ????????out.write(f) ???????? #?Add?Blank?Page?to?PDF def?add_page(pdf_file,?page_number): ????reader?=?PyPDF4.PdfFileReader(pdf_file) ????writer?=?PyPDF4.PdfWriter() ????writer.addPage() ????with?open('add.pdf',?'wb')?as?f: ????????writer.write(f) ???????? #?Rotate?Pages def?rotate_page(pdf_file): ????reader?=?PyPDF4.PdfFileReader(pdf_file) ????writer?=?PyPDF4.PdfWriter() ????for?page?in?reader.pages: ????????page.rotateClockwise(90) ????????writer.addPage(page) ????with?open('rotate.pdf',?'wb')?as?f: ????????writer.write(f) ???????? #?Merge?PDFs def?merge_pdfs(pdf_file1,?pdf_file2): ????pdf1?=?PyPDF4.PdfFileReader(pdf_file1) ????pdf2?=?PyPDF4.PdfFileReader(pdf_file2) ????writer?=?PyPDF4.PdfWriter() ????for?page?in?pdf1.pages: ????????writer.addPage(page) ????for?page?in?pdf2.pages: ????????writer.addPage(page) ????with?open('merge.pdf',?'wb')?as?f: ????????writer.write(f)
?
06、迷你 Stackoverflow
作為一名程序員,我知道我們每天都需要 StackOverflow,但你不再需要在 Google 上搜索它。現在,在您繼續處理項目的同時,在你的 CMD 中獲得直接解決方案。通過使用 Howdoi 模塊,你可以在命令提示符或終端中獲得 StackOverflow 解決方案。你可以在下面找到一些可以嘗試的示例。
?
#?Automate?Stackoverflow #?pip?install?howdoi #?Get?Answers?in?CMD #example?1 >?howdoi?how?do?i?install?python3 #?example?2 >?howdoi?selenium?Enter?keys #?example?3 >?howdoi?how?to?install?modules #?example?4 >?howdoi?Parse?html?with?python #?example?5 >?howdoi?int?not?iterable?error #?example?6 >?howdoi?how?to?parse?pdf?with?python #?example?7 >?howdoi?Sort?list?in?python #?example?8 >?howdoi?merge?two?lists?in?python #?example?9 >howdoi?get?last?element?in?list?python #?example?10 >?howdoi?fast?way?to?sort?list
?
07、自動化手機
此自動化腳本將幫助你使用 Python 中的 Android 調試橋 (ADB) 自動化你的智能手機。下面我將展示如何自動執行常見任務,例如滑動手勢、呼叫、發送短信等等。您可以了解有關 ADB 的更多信息,并探索更多令人興奮的方法來實現手機自動化,讓您的生活更輕松。
?
#?Automate?Mobile?Phones #?pip?install?opencv-python import?subprocess def?main_adb(cm): ????p?=?subprocess.Popen(cm.split('?'),?stdout=subprocess.PIPE,?shell=True) ????(output,?_)?=?p.communicate() ????return?output.decode('utf-8') ???? #?Swipe? def?swipe(x1,?y1,?x2,?y2,?duration): ????cmd?=?'adb?shell?input?swipe?{}?{}?{}?{}?{}'.format(x1,?y1,?x2,?y2,?duration) ????return?main_adb(cmd) ???? #?Tap?or?Clicking def?tap(x,?y): ????cmd?=?'adb?shell?input?tap?{}?{}'.format(x,?y) ????return?main_adb(cmd) ???? #?Make?a?Call def?make_call(number): ????cmd?=?f"adb?shell?am?start?-a?android.intent.action.CALL?-d?tel:{number}" ????return?main_adb(cmd) ???? #?Send?SMS def?send_sms(number,?message): ????cmd?=?'adb?shell?am?start?-a?android.intent.action.SENDTO?-d??sms:{}?--es?sms_body?"{}"'.format(number,?message) ????return?main_adb(cmd) ???? #?Download?File?From?Mobile?to?PC def?download_file(file_name): ????cmd?=?'adb?pull?/sdcard/{}'.format(file_name) ????return?main_adb(cmd) ???? #?Take?a?screenshot def?screenshot(): ????cmd?=?'adb?shell?screencap?-p' ????return?main_adb(cmd) ???? #?Power?On?and?Off def?power_off(): ????cmd?=?'"adb?shell?input?keyevent?26"' ????return?main_adb(cmd)
?
你可能使用 CPU-Z 或任何規格監控軟件來捕獲你的 Cpu 和 Gpu 溫度,但你也可以通過編程方式進行。好吧,這個腳本使用 Pythonnet 和 OpenhardwareMonitor 來幫助你監控當前的 Cpu 和 Gpu 溫度。你可以使用它在達到一定溫度時通知自己,也可以在 Python 項目中使用它來簡化日常生活。
?
#?Get?CPU/GPU?Temperature #?pip?install?pythonnet import?clr clr.AddReference("OpenHardwareMonitorLib") from?OpenHardwareMonitorLib?import?* spec?=?Computer() spec.GPUEnabled?=?True spec.CPUEnabled?=?True spec.Open() #?Get?CPU?Temp def?Cpu_Temp(): ????while?True: ????????for?cpu?in?range(0,?len(spec.Hardware[0].Sensors)): ????????????if?"/temperature"?in?str(spec.Hardware[0].Sensors[cpu].Identifier): ????????????????print(str(spec.Hardware[0].Sensors[cpu].Value)) ???????????????? #?Get?GPU?Temp def?Gpu_Temp() ????while?True: ????????for?gpu?in?range(0,?len(spec.Hardware[0].Sensors)): ????????????if?"/temperature"?in?str(spec.Hardware[0].Sensors[gpu].Identifier): ????????????????print(str(spec.Hardware[0].Sensors[gpu].Value))
?
Instagram 是一個著名的社交媒體平臺,你現在不需要通過智能手機上傳照片或視頻。你可以使用以下腳本以編程方式執行此操作。
?
#?Upload?Photos?and?Video?on?Insta #?pip?install?instabot from?instabot?import?Bot def?Upload_Photo(img): ????robot?=?Bot() ????robot.login(user) ????robot.upload_photo(img,?caption="Medium?Article") ????print("Photo?Uploaded") ???? def?Upload_Video(video): ????robot?=?Bot() ????robot.login(user) ????robot.upload_video(video,?caption="Medium?Article") ????print("Video?Uploaded") ???? def?Upload_Story(img): ????robot?=?Bot() ????robot.login(user) ????robot.upload_story(img,?caption="Medium?Article") ????print("Story?Photos?Uploaded") ???? Upload_Photo("img.jpg") Upload_Video("video.mp4")
?
10、視頻水印
使用此自動化腳本為你的視頻添加水印,該腳本使用 Moviepy,這是一個方便的視頻編輯模塊。在下面的腳本中,你可以看到如何添加水印并且可以自由使用它。
?
#?Video?Watermark?with?Python #?pip?install?moviepy from?moviepy.editor?import?* clip?=?VideoFileClip("myvideo.mp4",?audio=True)? width,height?=?clip.size?? text?=?TextClip("WaterMark",?font='Arial',?color='white',?fontsize=28) set_color?=?text.on_color(size=(clip.w?+?text.w,?text.h-10),?color=(0,0,0),?pos=(6,'center'),?col_opacity=0.6) set_textPos?=?set_color.set_pos(?lambda?pos:?(max(width/30,int(width-0.5*?width*?pos)),max(5*height/6,int(100*?pos)))?) Output?=?CompositeVideoClip([clip,?set_textPos]) Output.duration?=?clip.duration Output.write_videofile("output.mp4",?fps=30,?codec='libx264')
?
評論
查看更多