Fundamentals 8 min read

Practical Python Scripts for Automation, Web Scraping, and Text Processing

This article presents a collection of useful Python scripts—including file sorting, empty‑folder removal, batch renaming, web‑scraping, bulk image downloading, form automation, and various text‑processing utilities—each accompanied by clear explanations and ready‑to‑run code examples.

Python Programming Learning Circle
Python Programming Learning Circle
Python Programming Learning Circle
Practical Python Scripts for Automation, Web Scraping, and Text Processing

The article introduces several simple yet powerful Python scripts that can automate repetitive tasks and improve productivity.

1. Automation of file management

1.1 Sort files by extension – a script that scans a directory, creates subfolders for each file extension, and moves files accordingly.

# Python script to sort files in a directory by their extension
import os
from shutil import move

def sort_files(directory_path):
    for filename in os.listdir(directory_path):
        if os.path.isfile(os.path.join(directory_path, filename)):
            file_extension = filename.split('.')[-1]
            destination_directory = os.path.join(directory_path, file_extension)
            if not os.path.exists(destination_directory):
                os.makedirs(destination_directory)
            move(os.path.join(directory_path, filename), os.path.join(destination_directory, filename))

1.2 Remove empty folders – a script that walks through a directory tree and deletes any empty subfolders.

# Python script to remove empty folders in a directory
import os

def remove_empty_folders(directory_path):
    for root, dirs, files in os.walk(directory_path, topdown=False):
        for folder in dirs:
            folder_path = os.path.join(root, folder)
            if not os.listdir(folder_path):
                os.rmdir(folder_path)

1.3 Batch rename files – a script that renames all files containing a given substring.

# Python script to rename multiple files in a directory
import os

def rename_files(directory_path, old_name, new_name):
    for filename in os.listdir(directory_path):
        if old_name in filename:
            new_filename = filename.replace(old_name, new_name)
            os.rename(os.path.join(directory_path, filename), os.path.join(directory_path, new_filename))

2. Web scraping and interaction

2.1 Extract data from a website – uses requests and BeautifulSoup to fetch a page and parse its HTML.

# Python script for web scraping to extract data from a website
import requests
from bs4 import BeautifulSoup

def scrape_data(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    # Your code here to extract relevant data from the website

2.2 Bulk download images – downloads images from a list of URLs returned by a JSON API.

# Python script to download images in bulk from a website
import requests

def download_images(url, save_directory):
    response = requests.get(url)
    if response.status_code == 200:
        images = response.json()  # Assuming the API returns a JSON array of image URLs
        for index, image_url in enumerate(images):
            image_response = requests.get(image_url)
            if image_response.status_code == 200:
                with open(f"{save_directory}/image_{index}.jpg", "wb") as f:
                    f.write(image_response.content)

2.3 Automate form submission – posts form data to a URL and checks the response.

# Python script to automate form submissions on a website
import requests

def submit_form(url, form_data):
    response = requests.post(url, data=form_data)
    if response.status_code == 200:
        # Your code here to handle the response after form submission
        pass

3. Text processing utilities

3.1 Count words in a text file – reads a file and returns the number of words.

# Python script to count words in a text file
def count_words(file_path):
    with open(file_path, 'r') as f:
        text = f.read()
        word_count = len(text.split())
    return word_count

3.2 Find and replace text – replaces a target string with a new string throughout a file.

# Python script to find and replace text in a file
def find_replace(file_path, search_text, replace_text):
    with open(file_path, 'r') as f:
        text = f.read()
        modified_text = text.replace(search_text, replace_text)
    with open(file_path, 'w') as f:
        f.write(modified_text)

3.3 Generate random text – creates a random string of a specified length using letters, digits, and punctuation.

# Python script to generate random text
import random
import string

def generate_random_text(length):
    letters = string.ascii_letters + string.digits + string.punctuation
    random_text = ''.join(random.choice(letters) for i in range(length))
    return random_text

The article concludes with a promotional note inviting readers to scan a QR code to receive free Python learning resources, including e‑books, tutorials, and project code.

PythonAutomationData ExtractionscriptingWeb Scrapingtext processing
Python Programming Learning Circle
Written by

Python Programming Learning Circle

A global community of Chinese Python developers offering technical articles, columns, original video tutorials, and problem sets. Topics include web full‑stack development, web scraping, data analysis, natural language processing, image processing, machine learning, automated testing, DevOps automation, and big data.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.