The hShop Downloader is a Python script designed to facilitate the downloading of content from the hShop webSite. It focuses on various categories such as DLC, DSiWare, extras, games, themes, updates, videos, and virtual console. The script employs web scraping techniques to gather information and provides a straightforward interface for downloading content directly to your local machine.
- DLC
- DSiWare
- Extras
- Games
- Themes
- Updates
- Videos
- Virtual Console
-
Web Scraping: The script utilizes the
requests
library along withBeautifulSoup
for web scraping. It extracts relevant information, such as download links and file names, from the hShop website. -
Threaded Downloads: To enhance performance, the script uses multiple threads to download games concurrently. This allows for faster retrieval of content.
-
HTML Decoding: The
html_decode
function handles HTML-encoded characters in filenames, ensuring accurate and readable file names. -
Download Progress: The script displays a progress bar using
tqdm
to provide real-time feedback on the download process. -
Organized Directories: The downloaded content is organized into directories based on their respective categories. Each item is stored in a dedicated folder for ease of access.
Ensure you have the following dependencies installed:
- Python 3
requests
BeautifulSoup
tqdm
Install the required Python packages using:
pip install requests beautifulsoup4 tqdm
- Open the
hshop_downloader.py
file. - Update the URL in the
get_games
function with the desired category URL (e.g., for DLC, usebaseurl+"/c/dlc"
). - Run the script:
python hshop_downloader.py
The script can be extended and enhanced in several ways:
-
User Interface: Develop a graphical user interface (GUI) for a more user-friendly experience.
-
Configuration File: Implement a configuration file for easier customization of settings, such as the download directory and thread count.
-
Error Handling: Enhance error handling to gracefully manage unexpected scenarios during the download process.
-
Logging: Integrate a logging mechanism to keep track of download activities and any potential issues.
-
Pause and Resume: Add functionality to pause and resume downloads, especially useful for large files or intermittent internet connections.
This script was developed by Ghost0159. Special thanks to Léon Le Breton.
This project is licensed under the GNU General Public License Version 3.0. See the LICENSE file for details.
Please be aware that web scraping may be subject to legal and ethical considerations. Ensure compliance with relevant terms of service and policies before using this script.