<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          實(shí)用干貨:10個(gè)Python自動(dòng)化腳本任務(wù)!

          共 9137字,需瀏覽 19分鐘

           ·

          2022-11-24 16:34

          90abfe314470fdab7ae486276940576c.webp

          在這個(gè)自動(dòng)化時(shí)代,我們有很多重復(fù)無聊的工作要做。想想這些你不再需要一次又一次地做的無聊的事情,讓它自動(dòng)化,讓你的生活更輕松。那么在本文中,我將向您介紹 10 個(gè) Python 自動(dòng)化腳本,以使你的工作更加自動(dòng)化,生活更加輕松。因此,沒有更多的重復(fù)任務(wù)將這篇文章放在您的列表中,讓我們開始吧。

          01、解析和提取 HTML

          此自動(dòng)化腳本將幫助你從網(wǎng)頁 URL 中提取 HTML,然后還為你提供可用于解析 HTML 以獲取數(shù)據(jù)的功能。這個(gè)很棒的腳本對(duì)于網(wǎng)絡(luò)爬蟲和那些想要解析 HTML 以獲取重要數(shù)據(jù)的人來說是一種很好的享受。

                
                #?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、二維碼掃描儀

          擁有大量二維碼圖像或只想掃描二維碼圖像,那么此自動(dòng)化腳本將幫助你。該腳本使用 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、截圖

          現(xiàn)在,你可以使用下面這個(gè)很棒的腳本以編程方式截取屏幕截圖。使用此腳本,你可以直接截屏或截取特定區(qū)域的屏幕截圖。

                
                #?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、創(chuàng)建有聲讀物

          厭倦了手動(dòng)將您的 PDF 書籍轉(zhuǎn)換為有聲讀物,那么這是你的自動(dòng)化腳本,它使用 GTTS 模塊將你的 PDF 文本轉(zhuǎn)換為音頻。

                
                #?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 編輯器

          使用以下自動(dòng)化腳本使用 Python 編輯 PDF 文件。該腳本使用 PyPDF4 模塊,它是 PyPDF2 的升級(jí)版本,下面我編寫了 Parse Text、Remove pages 等常用功能。當(dāng)你有大量 PDF 文件要編輯或需要以編程方式在 Python 項(xiàng)目中使用腳本時(shí),這是一個(gè)方便的腳本。

                
                #?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 上搜索它。現(xiàn)在,在您繼續(xù)處理項(xiàng)目的同時(shí),在你的 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、自動(dòng)化手機(jī)

          此自動(dòng)化腳本將幫助你使用 Python 中的 Android 調(diào)試橋 (ADB) 自動(dòng)化你的智能手機(jī)。下面我將展示如何自動(dòng)執(zhí)行常見任務(wù),例如滑動(dòng)手勢(shì)、呼叫、發(fā)送短信等等。您可以了解有關(guān) ADB 的更多信息,并探索更多令人興奮的方法來實(shí)現(xiàn)手機(jī)自動(dòng)化,讓您的生活更輕松。

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

          08、監(jiān)控 CPU/GPU 溫度

          你可能使用 CPU-Z 或任何規(guī)格監(jiān)控軟件來捕獲你的 Cpu 和 Gpu 溫度,但你也可以通過編程方式進(jìn)行。好吧,這個(gè)腳本使用 Pythonnet 和 OpenhardwareMonitor 來幫助你監(jiān)控當(dāng)前的 Cpu 和 Gpu 溫度。你可以使用它在達(dá)到一定溫度時(shí)通知自己,也可以在 Python 項(xiàng)目中使用它來簡(jiǎn)化日常生活。

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

          09、Instagram 上傳機(jī)器人

          Instagram 是一個(gè)著名的社交媒體平臺(tái),你現(xiàn)在不需要通過智能手機(jī)上傳照片或視頻。你可以使用以下腳本以編程方式執(zhí)行此操作。

                
                #?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、視頻水印

          使用此自動(dòng)化腳本為你的視頻添加水印,該腳本使用 Moviepy,這是一個(gè)方便的視頻編輯模塊。在下面的腳本中,你可以看到如何添加水印并且可以自由使用它。

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

          原文鏈接:https://www.51cto.com/article/720276.html

          推薦閱讀:

          1. 重磅消息 | 2022年最新全棧測(cè)試開發(fā)技能實(shí)戰(zhàn)指南(第3期)

          2. 聊聊測(cè)開職業(yè)發(fā)展:講三點(diǎn)!

          3. 低代碼開發(fā),推薦一款Web 端自動(dòng)化神器: Automa!

          4. 史上最全測(cè)試開發(fā)工具推薦(含自動(dòng)化、APP性能、穩(wěn)定性、抓包神器)

          5. 2022年最全的軟件測(cè)試工程師發(fā)展知識(shí)體系圖譜!


          END

          34344908ac02da44da13c2ad3e40a26e.webp 所有原創(chuàng)文章 第一時(shí)間發(fā)布至此公眾號(hào)「測(cè)試開發(fā)技術(shù)」

          長(zhǎng)按二維碼/微信掃碼? 添加作者


          瀏覽 59
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天添天天干 | 一级黄色特级片 | av在线资源观看 a黄色在线视频无 | 成人中文字幕免费最近 | 色情一级A片成人高 |