A graphical user interface application that creates word clouds from website content. Simply enter a website URL and the application will automatically fetch the content, process the text, and generate a beautiful word cloud visualization.
- Modern GUI: Responsive two-panel layout with rich styling and handy keyboard shortcuts
- Web scraping: Automatically fetches and processes content from any website
- Customizable options:
- Adjust maximum number of words
- Set minimum word length filter
- Choose from multiple colour schemes even after the cloud is generated
- Switch background colours on the fly to preview different looks
- Real-time progress: Progress bar and status updates during processing
- Demo shortcuts: One-click demo URL loader for instant experimentation
- Save functionality: Export word clouds as PNG or JPEG images
- Smart text processing: Automatically removes common stop words and HTML tags
-
Install Python dependencies:
pip install -r requirements.txt
-
Run the modern interface:
python word_cloud_gui_modern.py
Prefer the classic layout? Run
python word_cloud_gui.pyinstead.
- Live styling updates: change the colour map or background after generation without reprocessing the webpage.
- Streamlined processing queue keeps the app responsive between runs.
- Refreshed UI styling with clearer status messaging and demo URL picker.
- Enter Website URL: Type or paste a website URL in the input field.
- Adjust Options (optional): Configure maximum words, minimum word length, colour scheme, and background colour before generating.
- Generate: Click "Generate Word Cloud" (or press
Ctrl+Enter/F5) to create the visualisation. - Tweak Styling: Select new colour schemes or backgrounds to immediately refresh the cloud.
- Save: Once satisfied, use "Save Image" to export the word cloud.
- Clear: Use "Clear" to reset the display.
The application works with most public websites that allow web scraping. Some websites may block automated requests or require special handling.
- matplotlib: For creating and displaying visualisations
- wordcloud: Core word cloud generation library
- requests: For fetching website content
- beautifulsoup4: For parsing HTML content
- Pillow: For image processing
- tkinter: GUI framework (included with Python)
- News websites (BBC, CNN, etc.)
- Wikipedia articles
- Blog posts
- Company websites
- Documentation sites
"Error fetching website":
- Check if the URL is correct and accessible
- Some websites block automated requests
- Try a different website
"No valid words found":
- The website might have very little text content
- Try lowering the minimum word length
- Check if the website loaded properly
GUI not responding:
- The application processes content in the background
- Wait for the progress bar to complete
- Large websites may take longer to process
This GUI application is based on the original word_cloud_example.py which demonstrates basic word cloud creation with sample data. The GUI version extends this functionality with web scraping and a user-friendly interface.