当前位置: 首页 > 科技观察

十个Python脚本来自动化你的日常任务

时间:2023-03-14 21:40:08 科技观察

在这个自动化的时代,我们有很多重复无聊的工作要做。想想这些您不再需要一次又一次做的无聊事情,将其自动化并让您的生活更轻松。那么在这篇文章中,我将向您介绍10个Python自动化脚本,让您的工作更加自动化,让您的生活更轻松。所以,没有更多的重复性任务将这篇文章添加到您的列表中,让我们开始吧。1.解析和提取HTML这个自动化脚本将帮助您从网页URL中提取HTML,然后还为您提供可用于解析HTML以获取数据的函数。这个很棒的脚本非常适合网络爬虫和那些想要为重要数据解析HTML的人。解析和提取HTMLpipinstallgazpachoimportgazpachoExtractHTMLfromURLurl='https://www.example.com/'html=gazpacho.get(url)print(html)ExtractHTMLwithHeadersheaders={'User-Agent':'Mozilla/5.0'}html=gazpacho.get(url,headers=headers)print(html)解析HTMLparse=gazpacho.Soup(html)查找单个标签tag1=parse.find('h1')tag2=parse.find('span')查找多个标签tags1=parse.find_all('p')tags2=parse.find_all('a')通过classtag查找标签=parse.find('.class')通过Attributetag=parse.find("div",attrs={"class":"test"})从标签中提取文本text=parse.find('h1').texttext=parse.find_all('p')[0].text2,二维码扫描器有很多QR码图像或只想扫描QR码图像,那么这个自动化脚本将帮助您。此脚本使用Qrtools模块,使您能够以编程方式扫描QR图像。二维码扫描器pipinstallqrtoolsfromqrtoolsimportQrdefScan_Qr(qr_img):qr=Qr()qr.decode(qr_img)print(qr.data)returnqr.dataprint("您的二维码是:",Scan_Qr("qr.png"))3.屏幕截图现在,您可以使用下面这个很棒的脚本以编程方式截取屏幕截图。使用此脚本,您可以直接截屏或截取特定区域的屏幕截图。GrabScreenshotpipinstallpyautoguipipinstallPillowfrompyautoguiimportscreenshotimporttimefromPILimportImageGrabGrabScreenshotgrab_screenshot():shot=screenshot()shot.save('my_screenshot.png')Grab特定区域截图efgrabare_screenshot=a(0),500,500)shot=ImageGrab.grab(area)shot.save('my_screenshot_area.png')使用Delaydef抓取屏幕截图grab_screenshot_delay():time.sleep(5)shot=screenshot()shot.save('my_screenshot_delay.png'')4.创建有声读物厌倦了手动将您的PDF书籍转换为有声读物,那么这里是您的自动化脚本,它使用GTTS模块将您的PDF文本转换为音频。创建有声读物spipinstallgTTSpipinstallPyPDF2fromPyPDF2importPdfFileReaderasreaderfromgttsimportgTTSdefcreate_audio(pdf_file):read_Pdf=reader(open(pdf_file,'rb'))forpageinrange(read_Pdf.numPages):text=read_Pdf.getPage(page.extractText()tts=gTTS(text,lang='en')tts.save('page'+str(page)+'.mp3')create_audio('book.pdf')5.PDF编辑器使用以下自动化该脚本使用Python来编辑PDF文件。此脚本使用PyPDF4模块,它是PyPDF2的升级版本。下面我写了ParseText,Removepages等常用功能。当您有大量PDF文件要编辑或需要在Python项目中以编程方式使用脚本时,这是一个方便的脚本。PDFEditorpipinstallPyPDF4importPyPDF4Parse来自PDFdefparse_text(pdf_file):reader=PyPDF4.PdfFileReader(pdf_file)forpageinreader.pages:print(page.extractText())RemovePagefromPDFdefremove_page(pdf_file,page_numbers):filer=PyPDF4.PdfReader('source.pdf','rb')out=PyPDF4.PdfWriter()forindexinpage_numbers:page=filer.pages[index]out.add_page(page)withopen('rm.pdf','wb')asf:out.write(f)将空白页添加到PDFdefadd_page(pdf_file,page_number):reader=PyPDF4.PdfFileReader(pdf_file)writer=PyPDF4.PdfWriter()writer.addPage()withopen('add.pdf','wb')asf:writer.write(f)RotatePagesdefrotate_page(pdf_file):reader=PyPDF4.PdfFileReader(pdf_file)writer=PyPDF4.PdfWriter()forpageinreader.pages:page.rotateClockwise(90)writer.addPage(page)withopen('rotate.pdf','wb')asf:writer.write(f)MergePDFsdefmerge_pdfs(pdf_file1,pdf_file2):pdf1=PyPDF4.PdfFileReader(pdf_file1)pdf2=PyPDF4。PdfFileReader(pdf_file2)writer=PyPDF4.PdfWriter()forpageinpdf1.pages:writer.addPage(page)forpageinpdf2.pages:writer.addPage(page)withopen('merge.pdf','wb')asf:writer.write(f)6.MiniStackoverflow作为一名程序员,我知道我们每天都需要StackOverflow,但您不再需要在GoogleNow上搜索它,在您继续从事您的项目的同时,在您的CMD中直接获得解决方案。通过使用Howdoi模块,您可以在命令提示符或终端中获取StackOverflow解决方案。您可以在下面找到一些示例来尝试。自动化Stackoverflowpip安装howdoi在CMD中获取答案#example1howdoi我如何安装python3example2howdoiselenium输入keysexample3howdoi如何安装模块example4howdoi使用python解析htmlexample5howdoiint不可迭代错误示例6howdoi如何使用python解析pdfexample7howdoi在python中排序列表示例8howdoi合并两个列表在pythonexample9howdoi中获取列表中的最后一个元素pythonexample10howdoi快速排序list7的方法。自动化您的手机此自动化脚本将帮助您使用Python中的Android调试桥(ADB)自动化您的智能手机。下面我将展示如何自动执行常见任务,例如滑动手势、通话、短信等。您可以了解有关ADB的更多信息,并探索更多令人兴奋的方法来实现手机自动化,让您的生活更轻松。自动化手机spipinstallopencv-pythonimportsubprocessdefmain_adb(cm):p=subprocess.Popen(cm.split(''),stdout=subprocess.PIPE,shell=True)(output,_)=p.communicate()returnoutput.decode('utf-8')Swipedefswipe(x1,y1,x2,y2,duration):cmd='adbshellinputswipe{}{}{}{}{}'.format(x1,y1,x2,y2,持续时间)returnmain_adb(cmd)TaporClickingdeftap(x,y):cmd='adbshellinputtap{}{}'.format(x,y)returnmain_adb(cmd)MakeaCalldefmake_call(number):cmd=f"adbshellamstart-aandroid.intent.action.CALL-dtel:{number}"returnmain_adb(cmd)SendSMSdefsend_sms(number,message):cmd='adbshellamstart-aandroid.intent.action.SENDTO-dsms:{}--essms_body"{}"'.format(number,message)returnmain_adb(cmd)从手机下载文件到PCdefdownload_file(file_name):cmd='adbpull/sdcard/{}'.format(file_name)returnmain_adb(cmd)截图defscreenshot():cmd='adbshellscreencap-p'returnmain_adb(cmd)PowerOnandOffdefpower_off():cmd='"adbshellinputkeyevent26"'returnmain_adb(cmd)8.监控CPU/GPU温度您可以使用CPU-Z或任何规格监控软件来捕获您的Cpu和Gpu温度,但您也可以通过编程方式完成,这个脚本使用Pythonnet和OpenhardwareMonitor来帮助您监控当前的Cpu和Gpu温度。您可以使用它在达到特定温度时通知自己,也可以在您的Python项目中使用它来简化您的日常生活。从OpenHardwareMonitorLib导入*spec=Computer()spec.GPUEnabled=Truespec.CPPUEnabled=Truespec.Open()GetCPUTempdefCpu_Temp():whileTrue:forcpu在范围(0,len(spec.Hardware[0].Sensors)):if"/temperature"instr(spec.Hardware[0].Sensors[cpu].Identifier):print(str(spec.Hardware[0].Sensors[cpu].Value))GetGPUTempdefGpu_Temp()whileTrue:forgpuinrange(0,len(spec.Hardware[0].Sensors)):if"/temperature"instr(spec.Hardware[0].Sensors[gpu].Identifier):print(str(spec.Hardware[0].Sensors[gpu].Value))9.Instagram上传机器人Instagram是一个知名的社交媒体平台,你不知道需要智能从手机上传照片或视频。您可以使用以下脚本以编程方式执行此操作。在Instapip上上传照片和视频installinstabotfrominstabotimportBotdefUpload_Photo(img):robot=Bot()robot.login(username="user",password="pass")robot.upload_photo(img,caption="MediumArticle")print("照片上传")defUpload_Video(视频):robot=Bot()robot.login(username="user",password="pass")robot.upload_video(video,caption="MediumArticle")print("视频上传")defUpload_Story(img):robot=Bot()robot.login(username="user",password="pass")robot.upload_story(img,caption="MediumArticle")print("StoryPhotosUploaded")Upload_Photo("img.jpg")Upload_Video("video.mp4")10.视频水印使用这个自动脚本为您的视频添加水印,该脚本使用方便的视频编辑模块Moviepy。在下面的脚本中,您可以看到如何添加水印并自由使用。使用Pythonpipinstallmoviepyfrommoviepy.editorimport*clip=VideoFileClip("myvideo.mp4",audio=True)width,height=clip.sizetext=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(lambdapos:(max(width/30,int(width-0.5*width*pos)),max(5height/6,int(100pos))))Output=CompositeVideoClip([clip,set_textPos])Output.duration=clip.durationOutput.write_videofile("output.mp4",fps=30,codec='libx264')