This script scrapes student club information from a university's Discord Student Hub. It automates the process of collecting data from each tab — including Home, Clubs, Classes & Subjects, Social & Study, and Miscellaneous — and compiles it into a clean CSV file.
- Logs into Discord manually via browser.
- Scrolls and scrapes data from each visible card.
- Collects:
- Club name
- Club description
- Total number of members (not just online)
- Category (e.g., Clubs, Social & Study)
- Identifies clubs only listed in Home but not categorized, and tags them as
Uncategorized
. - Skips "Add Server" and other non-club entries.
- Saves everything to a structured CSV file.
- Python 3.7+
- Google Chrome (latest)
- Matching
chromedriver
for your Chrome version
Install dependencies:
pip install selenium
- Download chromedriver for your version of Chrome from: https://googlechromelabs.github.io/chrome-for-testing/
- Unzip and copy the path to the chromedriver binary.
- Clone or download this repo, then run:
python3 scrape_discord_clubs.py
- When prompted:
- Enter the full path to your chromedriver file.
- Log into Discord in the new window.
- Manually scroll to load all entries in the Home tab, then press Enter.
The results are saved to:
discord_clubs.csv
It includes: Club Name | Club Description | No. of members | Club Category | …
Clubs that are only visible in Home but not under any category tab are marked with:
Club Category: Uncategorized
Manually copying club info from Discord Student Hubs is slow and painful — especially if you’re gathering contacts, doing outreach, or tracking engagement. This script makes it instant.
Feel free to fork, file issues, or make pull requests if you’d like to enhance functionality (e.g. auto-login, headless mode, or category-specific filters).