Skip to content

A Flask-based API that scrapes job postings from Romega Solutions using JobSPY.

Notifications You must be signed in to change notification settings

KpG782/JobScraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Romega Jobs API

A Flask-based API that scrapes job postings from Romega Solutions using JobSPY.

Features

  • 🔍 Scrape latest Romega Solutions jobs from LinkedIn
  • 📊 Returns data in JSON format
  • 🐳 Docker containerized
  • ☁️ Ready for Easypanel deployment

API Endpoints

Endpoint Method Description
/ GET API information
/health GET Health check
/scrape GET Trigger job scraping
/jobs GET Get cached job data

Quick Start

Local Development

pip install -r requirements.txt
python api.py

Docker

docker build -t romega-jobs-api .
docker run -p 5555:5555 romega-jobs-api

Easypanel Deployment

  1. Push this repo to GitHub
  2. In Easypanel, create new App
  3. Connect your GitHub repository
  4. Set build settings:
    • Build Method: Dockerfile
    • Port: 5555
  5. Deploy!

Environment Variables

Variable Default Description
PORT 5555 API port

Usage Examples

# Health check
curl http://your-domain/health

# Scrape jobs
curl http://your-domain/scrape

# Get cached jobs
curl http://your-domain/jobs

License

MIT


### 8. **docker-compose.yml** (Optional - for local testing)
```yaml
version: '3.8'

services:
  api:
    build: .
    ports:
      - "5555:5555"
    environment:
      - PORT=5555
    restart: unless-stopped

🎯 Deployment Steps for Easypanel

  1. Create GitHub Repository:

    git init
    git add .
    git commit -m "Initial commit: Romega Jobs API"
    git branch -M main
    git remote add origin https://github.com/YOUR_USERNAME/romega-jobs-api.git
    git push -u origin main
  2. In Easypanel:

    • Click "Create App"
    • Select "GitHub" as source
    • Choose your repository
    • Set build configuration:
      • Build Method: Dockerfile
      • Port: 5555
    • Click "Deploy"
  3. Access your API:

    • Easypanel will provide a URL
    • Test: https://your-app.easypanel.host/health

📝 Notes

  • The scraper runs on-demand when you hit /scrape
  • Job data is cached in memory (container restart clears it)
  • For persistent storage, add volume mounts in Easypanel
  • Consider adding rate limiting for production use

About

A Flask-based API that scrapes job postings from Romega Solutions using JobSPY.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published