Logo Lanfrica

AKWOKING/cameroon-job-miner

Domain:

digital infrastructure

Record type:

software
Creator:
AKW
Host:
Automated web scraping and data mining system that tracks in-demand technical skills across four Cameroonian job portals. # πŸ‡¨πŸ‡² Cameroon Tech Job Market Miner > Automated web mining & skill trend analysis for the Cameroonian technology sector > Academic project β€” Data Mining & Applications, 2025/2026 --- ## What it does Scrapes tech job listings from **4 Cameroonian job portals** every week, extracts in-demand skills using a bilingual (French/English) NLP pipeline, runs association rule mining and K-Means clustering, then presents everything in a **live public Streamlit dashboard**. | Portal | URL | |---|---| | Emploi.cm | emploi.cm | | Talent.cm | cm.talent.com | | Expertini.cm | cm.expertini.com | | WorkConnect | workconnectjob.com | --- ## Project phases | Phase | Weeks | Status | Built | |-------|-------|--------|-------| | **1 β€” Scraping** | 1–2 | βœ… | 4 scraper classes, SQLite storage, CSV export | | **2 β€” Processing** | 3–4 | βœ… | Cleaning, bilingual taxonomy, NLP skill extraction | | **3 β€” Mining & Dashboard** | 5–6 | βœ… | Apriori rules, K-Means, Streamlit dashboard | | **4 β€” Deploy & Document** | 7–8 | βœ… | Render.com config, GitHub Actions, full docs | --- ## Quick start ```bash # 1. Set up git clone github.com cd cameroon-job-miner python -m venv venv && venv\Scripts\activate # Windows pip install -r requirements.txt # 2. Scrape (Phase 1) python run_scrapers.py # 3. Clean + Mine (Phases 2 & 3) python run_pipeline.py # 4. Dashboard streamlit run app.py ``` --- ## Project structure ``` cameroon-job-miner/ β”œβ”€β”€ scrapers/ Phase 1 β€” web scraping β”‚ β”œβ”€β”€ base_scraper.py httpx + BeautifulSoup base class β”‚ β”œβ”€β”€ emploi_cm.py β”‚ β”œβ”€β”€ talent_cm.py β”‚ β”œβ”€β”€ expertini_cm.py β”‚ └── workconnect.py auto-falls back to Selenium β”‚ β”œβ”€β”€ pipeline/ Phases 2 & 3 β€” processing & mining β”‚ β”œβ”€β”€ cleaner.py normalise, detect language, extract skills β”‚ └── miner.py Apriori association rules + K-Means β”‚ β”œβ”€β”€ data/ β”‚ β”œβ”€β”€ …