A Python application built with ttkbootstrap and Selenium to download images from SimpCity. The tool supports:
- Config editing for credentials and output directory.
- URL management (change/add/remove links).
- Automated login to SimpCity using Selenium.
- Downloading images (in the background, no GUI freeze).
- Generating multiple SimpCity links based on a base URL and page count.
This README walks you through requirements, installation, and usage instructions.
- Requirements
- Installation
- Project Structure
- Usage
- Running the Program
- Troubleshooting
- Terms and Conditions
The project depends on the following Python packages:
requests
selenium
Pillow
ttkbootstrap
These can be installed via:
pip install -r requirements.txt
Note: You must also have Chrome (and the appropriate ChromeDriver) installed. On most systems, Selenium can detect your existing Chrome and match driver versions automatically.
-
Clone this repository:
git clone https://github.com/annashumate1/SimpDL cd SimpDL
-
Install dependencies:
pip install -r requirements.txt
-
(Optional) Virtual Environment:
If you prefer, create and activate a virtual environment, then install dependencies. -
Check config folder:
- Ensure you have a
config/
folder with:config.json
(for login credentials, output directory, etc.)urls.txt
(list of SimpCity links)
- Ensure you have a
SimpDL/
├─ assets/
│ └─ anna.jpg # icon (change if you want but keep if you love Anna :) )
├─ config/
│ ├─ config.json # stores username/password/output_directory
│ └─ urls.txt # stores links
├─ main.py # main GUI entry point
├─ config_utils.py # frames for editing config & URL list
├─ downloader.py # download frame & logic (multithreaded)
├─ image_utils.py # helper functions for validating images
├─ link_utils.py # link generation & frames
├─ login_utils.py # simpcity login function
├─ requirements.txt # required packages
└─ README.md # this file
Once installed, you can run the application and use the GUI to edit config, manage URLs, generate links, and download images.
- Click “Modify Config” in the sidebar.
- You’ll see all keys from
config.json
, such asusername
,password
,output_directory
. - Edit them as needed, then Save.
- username / password should match your SimpCity account.
- output_directory is where downloaded images will go
Note: The images will go in a folder in the output directory automatically created by the program.
- Click “Change URL File” in the sidebar.
- A list of URLs from
urls.txt
is displayed. - Add New URL at the bottom by typing into the entry and pressing Enter or clicking Add.
- Delete Link next to any entry to remove it from the file.
- Click “Generate Links” in the sidebar.
- Enter the Base Link (e.g.,
https://simpcity.su/threads/nottrebeca_.180370/
) and Number of Pages (e.g., 5). - The tool writes all pages (
page-1
,page-2
, etc.) intourls.txt
automatically. - Note: You can edit these again in Change URL File if needed.
- Click “Download Images” in the sidebar.
- Start Download triggers a multithreaded process:
- Logs in to SimpCity using credentials in
config.json
. - Iterates over each URL in
urls.txt
. - Scrapes and downloads valid images to your
output_directory
.
- Logs in to SimpCity using credentials in
- During download, you’ll see a progress bar and status.
- Log messages appear in the text box.
- You can switch to other pages in the sidebar while it downloads (the GUI won’t freeze).
Note: Don't be alarmed if the program skips over files marked as "invalid" these files are not the images you are looking for (e.g profile photos, banners etc.)
cd SimpDL
python main.py
You should see the SimpDL window open:
- Sidebar on the left with navigation buttons.
- Home page (default) with a welcome message.
- Other pages as described above.
- Credentials: If login fails, confirm your
username
andpassword
inconfig/config.json
are correct. - ChromeDriver: If Selenium fails to launch Chrome, check that your Chrome version matches your ChromeDriver version.
- Images Not Downloading:
- Ensure you have valid links in
urls.txt
.
- Ensure you have valid links in
- Tkinter Issues:
- Windows: Tkinter is included by default with Python. If you encounter issues, ensure you installed Python with the Add Python to PATH option.
- Linux: Install via
sudo pacman -S tk
(Arch) orsudo apt-get install python3-tk
(Ubuntu). - macOS: Ensure you have XQuartz or the correct Tcl/Tk environment.
Enjoy using SimpDL! If you have any issues or suggestions, feel free to open an issue or reach out on Telegram: