本文约2700字,建议阅读5分钟
本文为你介绍10个Python自动化脚本,以使你的工作更加自动化,生活更加轻松。
在这个自动化时代,我们有很多重复无聊的工作要做。想想这些你不再需要一次又一次地做的无聊的事情,让它自动化,让你的生活更轻松。那么在本文中,将向您介绍10个Python自动化脚本,以使你的工作更加自动化,生活更加轻松。
解析和提取HTML二维码扫描仪截图创建有声读物PDF编辑器迷你StackoverFlow自动化手机监控CPU/GPU温度Instagram上传机器人视频水印01、解析和提取 HTML此自动化脚本将帮助你从网页URL中提取HTML,然后还为你提供可用于解析HTML以获取数据的功能。这个很棒的脚本对于网络爬虫和那些想要解析HTML以获取重要数据的人来说是一种很好的享受。
# 解析和提取 HTML # pip install gazpacho进口西班牙凉菜汤# 从 URL 中提取 HTML url = ' https://www.example.com/' html = gazpacho.get(url) print(html)# 提取带有标题的 HTML headers = {'User-Agent': 'Mozilla/5.0'} html = gazpacho.get(url, headers=headers) print(html)# 解析 HTML解析 = gazpacho.Soup(html)# 查找单个标签tag1 = parse.find('h1') tag2 = parse.find('span')# 查找多个标签tags1 = parse.find_all('p') tags2 = parse.find_all('a')# 按类查找标签tag = parse.find('.class')# 按属性查找标签tag = parse.find("div", attrs={"class": "test"})# 从标签中提取文本text = parse.find('h1').text text = parse.find_all('p')[0].text02、二维码扫描仪拥有大量二维码图像或只想扫描二维码图像,那么此自动化脚本将帮助你。该脚本使用Qrtools模块,使你能够以编程方式扫描QR图像。
# 二维码扫描仪# pip install qrtools从 qrtools 导入 Qrdef Scan_Qr(qr_img): qr = Qr() qr.decode(qr_img) print(qr.data) return qr.dataprint("您的二维码是:", Scan_Qr("qr.png"))03、截图现在,你可以使用下面这个很棒的脚本以编程方式截取屏幕截图。使用此脚本,你可以直接截屏或截取特定区域的屏幕截图。
# 抓取屏幕截图# pip install pyautogui # pip install Pillowfrom pyautogui import screenshot import time from PIL import ImageGrab# 抓取屏幕截图def grab_screenshot(): shot = screenshot() shot.save('my_screenshot.png')# 抓取特定区域的截图def grab_screenshot_area(): area = (0, 0, 500, 500) shot = ImageGrab.grab(area) shot.save('my_screenshot_area.png')# 延迟截屏def grab_screenshot_delay(): time.sleep (5) shot = screenshot() shot.save('my_screenshot_delay.png')04、创建有声读物厌倦了手动将您的PDF书籍转换为有声读物,那么这是你的自动化脚本,它使用 GTTS模块将你的PDF文本转换为音频。
# 创建有声读物# pip install gTTS # pip install PyPDF2from PyPDF2 import PdfFileReader as readerfrom gtts import gTTSdef 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 编辑器# pip install PyPDf4import PyPDF4# 从 PDF 解析文本def parse_text(pdf_file): reader = PyPDF4.PdfFileReader(pdf_file) for page in reader.pages: print(page.extractText())# 从 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(页面)用 open('rm.pdf', 'wb') as f: out.write(f)# 添加空白页到 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)# 旋转页面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)# 合并 PDF 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 list07、自动化手机您可以了解有关 ADB的更多信息,并探索更多令人兴奋的方法来实现手机自动化,让您的生活更轻松。
# 自动化手机# pip install opencv-pythonimport subprocessdef 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(命令)# 点击或点击def tap(x, y): cmd = 'adb shell input tap {} {}'.format(x, y) return main_adb(cmd)# 拨打电话def make_call(number): cmd = f"adb shell am start -a android.intent.action.CALL -d tel:{number}" return main_adb(cmd)# 发送短信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)# 从手机下载文件到电脑def download_file(file_name): cmd = 'adb pull /sdcard/{}'.format(file_name) return main_adb(cmd)# 截图def screenshot(): cmd = 'adb shell screencap -p' return main_adb(cmd)# 开机关机def power_off(): cmd = '"adb shell input keyevent 26"' return main_adb(cmd)08、监控 CPU/GPU 温度你可能使用CPU-Z或任何规格监控软件来捕获你的Cpu 和Gpu温度,但你也可以通过编程方式进行。好吧,这个脚本使用Pythonnet和OpenhardwareMonitor来帮助你监控当前的Cpu和Gpu温度。
你可以使用它在达到一定温度时通知自己,也可以在Python项目中使用它来简化日常生活。
# 获取 CPU/GPU 温度# pip install pythonnet从 OpenHardwareMonitorLib导入 clr clr.AddReference("OpenHardwareMonitorLib") *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 上传机器人Instagram是一个著名的社交媒体平台,你现在不需要通过智能手机上传照片或视频。你可以使用以下脚本以编程方式执行此操作。
# 在 Insta 上上传照片和视频# pip install instabot从 instabot 导入 Botdef Upload_Photo(img): robot = Bot() robot.login(username="user", password="pass") robot.upload_photo(img, caption="Medium Article") print("照片上传")def Upload_Video(video): robot = Bot() robot.login(username="user", password="pass") robot.upload_video(video, caption="Medium Article") print("Video Uploaded")def Upload_Story(img): robot = Bot() robot.login(username="user", password="pass") robot.upload_story(img, caption="Medium Article") print("Story Photos Uploaded")Upload_Photo("img.jpg") Upload_Video("video.mp4")10、视频水印使用此自动化脚本为你的视频添加水印,该脚本使用Moviepy,这是一个方便的视频编辑模块。在下面的脚本中,你可以看到如何添加水印并且可以自由使用它。
# 使用 Python 制作视频水印# pip install moviepy从moviepy.editor导入*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')