An analysis of data science and data analyst job market trends
This project creates a pipeline that automatically scrapes job data from the websites remoteok.com, weworkremotely.com, and hackernews.com using GitHub actions. It cleans the data and presents it on a dashboard for insights.
job_scraper/
│
├── .github/
│ └── workflows/
│ ├── scrape.yml # Daily RemoteOK & WWR automation
│ └── scrape_hn.yml # Bi-monthly HN automation
│
├── analysis/
│ └── analyze.py # Exploratory data analysis
│
├── dashboard/
│ └── app.py # Streamlit dashboard
│
├── config.py # Centralized configuration
├── create_db.py # Database schema setup
├── remote_scraper.py # RemoteOK scraper
├── wwr_scraper.py # We Work Remotely scraper
├── hn_scraper.py # Hacker News scraper
├── requirements.txt # Python dependencies
├── .gitignore # Git exclusions
└── README.md # You are here
- Python 3.10+
# Clone the repository
git clone https://github.com/boyeshenry-byte/job_market_analyzer.git
cd job_scraper
# Install dependencies
pip install -r requirements.txtExecute in order:
- create_db.py - Creates a database to house data
- remote_scraper.py, wwr_scraper.py, and hn_scraper.py - Scrapes and cleans data for analysis, then appends to the database
- app.py - Creates a dashboard for visualizing job trends
The full dashboard can be found here: https://job-market-analyzer.streamlit.app
Core Libraries:
pandas- Data manipulationnumpy- Numerical computingsqlalchemy- Create databasesstreamlit- Build dashboardrequests- Fetch urlsBeautifulSoup- Scrape html dataplotly- Visualize findings
Henry Boyes
- GitHub: @boyeshenry-byte
- LinkedIn: Henry Boyes
- Email: boyeshenry@gmail.com
This project is licensed under the MIT License - see the LICENSE file for details.
- Data Sources: RemoteOK, WeWorkRemotely & Hacker News
- Inspiration: Understanding the job market of my field
Feel free to open an issue or reach out if you have questions about the methodology or findings!
⭐ If you found this analysis interesting, please consider starring the repository!



