前言
大家好,这里是浩道linux,主要给大家分享linux、python、网络通信相关的it知识平台。
今天浩道跟大家分享几个关于python自动化日常工作的实用案例脚本!
在这个自动化时代,我们有很多重复无聊的工作要做。想想这些你不再需要一次又一次地做的无聊的事情,让它自动化,让你的生活更轻松。那么在本文中,我将向您介绍 10 个 python 自动化脚本,以使你的工作更加自动化,生活更加轻松。因此,没有更多的重复任务将这篇文章放在您的列表中,让我们开始吧。
01、解析和提取 html
此自动化脚本将帮助你从网页 url 中提取 html,然后还为你提供可用于解析 html 以获取数据的功能。这个很棒的脚本对于网络爬虫和那些想要解析 html 以获取重要数据的人来说是一种很好的享受。
# parse and extract html# pip install gazpachoimport gazpacho# extract html from urlurl = 'https://www.example.com/'html = gazpacho.get(url)print(html)# extract html with headersheaders = {'user-agent': 'mozilla/5.0'}html = gazpacho.get(url, headers=headers)print(html)# parse htmlparse = gazpacho.soup(html)# find single tagstag1 = parse.find('h1')tag2 = parse.find('span')# find multiple tagstags1 = parse.find_all('p')tags2 = parse.find_all('a')# find tags by classtag = parse.find('.class')# find tags by attributetag = parse.find(div, attrs={class: test})# extract text from tagstext = parse.find('h1').texttext = parse.find_all('p')[0].text
02、二维码扫描仪
拥有大量二维码图像或只想扫描二维码图像,那么此自动化脚本将帮助你。该脚本使用 qrtools 模块,使你能够以编程方式扫描 qr 图像。
# qrcode scanner# pip install qrtoolsfrom qrtools import qrdef 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 pillowfrom pyautogui import screenshotimport timefrom pil import imagegrab# grab screenshot of screendef grab_screenshot(): shot = screenshot() shot.save('my_screenshot.png') # grab screenshot of specific areadef grab_screenshot_area(): area = (0, 0, 500, 500) shot = imagegrab.grab(area) shot.save('my_screenshot_area.png') # grab screenshot with delaydef 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 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 editor# pip install pypdf4import pypdf4# parse the text from pdfdef parse_text(pdf_file): reader = pypdf4.pdffilereader(pdf_file) for page in reader.pages: print(page.extracttext()) # remove page from pdfdef 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 pdfdef 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 pagesdef 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 pdfsdef 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-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(cmd) # tap or clickingdef tap(x, y): cmd = 'adb shell input tap {} {}'.format(x, y) return main_adb(cmd) # make a calldef make_call(number): cmd = fadb shell am start -a android.intent.action.call -d tel:{number} return main_adb(cmd) # send smsdef 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 pcdef download_file(file_name): cmd = 'adb pull /sdcard/{}'.format(file_name) return main_adb(cmd) # take a screenshotdef screenshot(): cmd = 'adb shell screencap -p' return main_adb(cmd) # power on and offdef power_off(): cmd = 'adb shell input keyevent 26' return main_adb(cmd)
08、监控 cpu/gpu 温度
你可能使用 cpu-z 或任何规格监控软件来捕获你的 cpu 和 gpu 温度,但你也可以通过编程方式进行。好吧,这个脚本使用 pythonnet 和 openhardwaremonitor 来帮助你监控当前的 cpu 和 gpu 温度。你可以使用它在达到一定温度时通知自己,也可以在 python 项目中使用它来简化日常生活。
# get cpu/gpu temperature# pip install pythonnetimport clrclr.addreference(openhardwaremonitorlib)from openhardwaremonitorlib import *spec = computer()spec.gpuenabled = truespec.cpuenabled = truespec.open()# get cpu tempdef 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 tempdef 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 是一个著名的社交媒体平台,你现在不需要通过智能手机上传照片或视频。你可以使用以下脚本以编程方式执行此操作。
# upload photos and video on insta# pip install instabotfrom instabot import botdef 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 moviepyfrom 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.durationoutput.write_videofile(output.mp4, fps=30, codec='libx264')
苹果新专利显示将来MacBook Pro的触控功能会进行升级
5G+AI使产业互联网发展进入快车道 安防行业转型升级门槛将降低
无铅锡膏0307具有优异的环保性和优异的润湿性?
基于江苏中午时段谷电的安科瑞系统解决方案
基于FFmpeg的运动视频分析技术架构,以及英特尔视频分析的软硬件解决方案
10个Python脚本来自动化你的日常任务
山东德州市出台多项加快集成电路产业发展的政策 将给予企业大力扶持
5G架构相比4G哪里不同?
电气绝缘电阻怎么测试?电气设备绝缘电阻标准与电气设备测绝缘步骤详解
详解VR设备、VR头盔的构成
小米MIX拆解图赏
安科瑞ACTB-3电流互感器过电压保护器的作用
【新专利介绍】一种基于LoRa通信的微功耗无线温度压力一体化变送器
蔡浩轩:币圈韭菜被套如何脱困?
使用2个晶体管进行LED切换的LED Flasher电路
华为p50和p50pro对比 哪个更好
速度太快!2017年最新最新的系统已经发布,Android8.0正式降临!
中国半导体材料行业投资前景分析
思特威2020业绩翻番,打造三大核心竞争力
杭州万高荣获“浙江省科技小巨人”认定