10 Powerful Python Automation Scripts to Eliminate Repetitive Tasks
Discover ten practical Python automation scripts—from HTML parsing and QR code scanning to screenshot capture, PDF editing, StackOverflow querying, mobile device control, hardware monitoring, Instagram uploading, and video watermarking—that streamline repetitive tasks and boost productivity across diverse workflows.
01. Parse and Extract HTML
This script extracts HTML from a URL and provides functions for parsing the document using the gazpacho library.
# 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].text02. QR Code Scanner
Uses the qrtools module to programmatically decode QR code images.
# 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. Screenshot Capture
Provides functions to capture full-screen or region screenshots using pyautogui and Pillow.
# Grab Screenshot
# pip install pyautogui
# pip install Pillow
from pyautogui import screenshot
import time
from PIL import ImageGrab
# Full screen
def grab_screenshot():
shot = screenshot()
shot.save('my_screenshot.png')
# Specific area
def grab_screenshot_area():
area = (0, 0, 500, 500)
shot = ImageGrab.grab(area)
shot.save('my_screenshot_area.png')
# With delay
def grab_screenshot_delay():
time.sleep(5)
shot = screenshot()
shot.save('my_screenshot_delay.png')04. Create Audiobooks
Converts PDF text to audio files using gTTS and PyPDF2.
# 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 Editor
Offers common PDF manipulation functions (parse text, remove pages, add blank pages, rotate, merge) using PyPDF4.
# PDF Editor
# pip install PyPDf4
import PyPDF4
# Parse text
def parse_text(pdf_file):
reader = PyPDF4.PdfFileReader(pdf_file)
for page in reader.pages:
print(page.extractText())
# Remove page(s)
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
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. Mini StackOverflow (howdoi)
Uses the howdoi module to fetch StackOverflow answers directly from the command line.
# 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. Automate Mobile Phones (ADB)
Wraps Android Debug Bridge (ADB) commands in Python functions for swiping, tapping, calling, SMS, file transfer, screenshots, and power control.
# 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
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 off
def power_off():
cmd = 'adb shell input keyevent 26'
return main_adb(cmd)08. Monitor CPU/GPU Temperature
Leverages pythonnet and OpenHardwareMonitorLib to read real‑time CPU and GPU temperature sensors.
# 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()
# 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))
# 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 Upload Bot
Automates photo, video, and story uploads to Instagram using the instabot library.
# 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. Video Watermark with Python
Applies a text watermark to a video file using the moviepy library.
# 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')Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
MaGe Linux Operations
Founded in 2009, MaGe Education is a top Chinese high‑end IT training brand. Its graduates earn 12K+ RMB salaries, and the school has trained tens of thousands of students. It offers high‑pay courses in Linux cloud operations, Python full‑stack, automation, data analysis, AI, and Go high‑concurrency architecture. Thanks to quality courses and a solid reputation, it has talent partnerships with numerous internet firms.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
