πŸ“Š

Excel Image Downloader

Download images from URLs listed in Excel cells with concurrent processing.

Excel ⭐⭐ Intermediate ⏱️ 5 minutes

😫 The Pain Point

You have an Excel with 500 product URLs in column A and image URLs in column B. You need to download all images and name them by product name.

πŸš€ Agentic Solution

A Concurrent Image Downloader that processes Excel data efficiently.

Key Features:

  • Concurrent Downloads: Process multiple images simultaneously.
  • Smart Naming: Use Excel column for filenames.
  • Error Recovery: Retry failed downloads, log errors.

βš”οΈ Phase 1: Commander (Quick Fix)

For quick downloading.

Prompt:

β€œI have an Excel products.xlsx with columns β€˜Product_Name’ and β€˜Image_URL’. Write a Python script using requests to:

  1. Download: Each image from URL.
  2. Naming: Use Product_Name as filename.
  3. Concurrent: Use threading for 5 simultaneous downloads.
  4. Output: Save to images/ folder.

Print progress. Retry failed downloads once. Log failures to errors.csv.”

Result: All product images organized by name.

πŸ—οΈ Phase 2: Architect (Permanent Tool)

For Content Managers.

Engineering Prompt:

**Role:** Python GUI Developer (PyQt6 Specialist)
**Task:** Create "Excel Image Downloader" Desktop App

**Objective:** A high-speed batch downloader that fetches images from URLs listed in spreadsheets.

**Tech Stack:**
* Language: Python 3.10+
* GUI Library: PyQt6 (Cross-platform)
* Network: aiohttp (async)
* Packaging: PyInstaller

**Functional Requirements:**
1.  **UI Layout (PyQt6):**
    *   **Source:** Excel File Input.
    *   **Mapping:** Dropdowns for "URL Column" and "Filename Column".
    *   **Output:** Destination Folder.
    *   **Settings:** Slider for "Concurrency Level" (1-20 threads).

2.  **Core Logic:**
    *   Read Excel with Pandas.
    *   Async download loop with `aiohttp`.
    *   Sanitize filenames from column data.
    *   **Threading:** Async event loop running in a background thread.

3.  **Deliverables:**
    *   `main.py`: Complete source code.
    *   `requirements.txt`: Dependencies.
    *   **Build Instructions:**
        *   Windows: `pyinstaller --onefile --noconsole main.py`
        *   macOS: `pyinstaller --windowed --noconsole main.py`

🧠 Prompt Decoding

  • Threading/Async: Downloading one by one is slow. Concurrent processing can be 5-10x faster.

πŸ› οΈ Instructions

  1. Copy Prompt β†’ Run.

Related Workflows

Explore other categories

πŸ“¬

Get Started with Agentic Working

Subscribe to receive updates from AgenticWorking.io

πŸ“– Free eBook Guide πŸ“¦ 7 Ready-to-use Scripts πŸ”” Weekly Tips

No spam, unsubscribe anytime. Join 1,000+ subscribers.