This project started as a fun experiment after I found myself manually saving images from many web pages, which quickly became tiring and time consuming. To reduce the repetitive work, I decided to build a simple web automation tool that could download images automatically.
The program is CLI based and runs automatically using XPath configurations that I define. Each website requires its own XPath rules, tailored to the specific HTML structure of the page. This approach allows the program to adapt to different layouts.
This tool has been very helpful when I need to collect images from web pages, especially when the content is spread across many HTML pages.
👉 🔍 Click the image for a clearer view.
ImageScraper
 |
| The user specifies a default folder to store the downloaded images, where the page title is automatically used as the folder name. The user also provides the URL from which the images will be downloaded. |
 |
| The XPath configuration depends on the page structure to successfully download the images. |
 |
| The images are downloaded into the user specified folder located on the desktop. |
 |
| One of the key features of ImageScraper is its multithreading support, which allows the program to download images from multiple pages simultaneously. This significantly reduces the total download time when working with many page links. By using the --thread option followed by multiple URLs (for example, link1 link2 link3), the scraper processes several pages in parallel instead of sequentially. |
 |
| Images are downloaded into the folder specified by the user on the desktop. Each page automatically gets its own folder named after the page title, and all related images are saved inside it. This fully automated process removes repetitive manual work and makes bulk image collection fast, organized, and effortless. Welcome to automation. |
Source Package Structure
 |
| This project is designed to be simple and efficient and does not rely on complex MVC design patterns. The focus is on functionality and automation rather than architectural overhead. The program can run as a standalone CLI tool, but it is also modular and reusable, making it easy to integrate as a component in other applications. |
Miscellaneous Application Folder Data
 |
| All program configurations and related data are stored in a default application data folder for easier management and consistency. |
Distribution Ready Binary
 |
| The program runs as a binary executable and includes a desktop launcher to make it easier for users to start the program with a single click. |