Wuzzuf Job Scraper

Welcome to the Wuzzuf Job Scraper project! This web scraping tool is designed to extract job listings, including titles, companies, locations, and job details, from the Wuzzuf job portal. The project allows users to collect data in real-time and analyze job market trends or specific roles.

Table of Contents

  1. Introduction
  2. Technologies
  3. Features
  4. Installation
  5. Usage
  6. Future Improvements

Introduction

This project leverages Python and web scraping libraries to collect job listings from Wuzzuf. It is useful for job seekers, recruiters, or data analysts who want to gather insights on job trends, analyze skills demand, or search for specific roles in Egypt's job market.


Technologies

The scraper uses the following technologies:

  • Python 3.8+
  • BeautifulSoup: For HTML parsing
  • Requests: For sending HTTP requests
  • Pandas: For data manipulation and saving results to CSV
  • Jupyter Notebook: For running and testing scripts

Features

  • Job Listings: Scrapes job titles, company names, locations, and links to job descriptions.
  • Customizable Filters: Filter jobs by category, location, or company.
  • Real-Time Data: Pulls current job postings from the Wuzzuf website.
  • CSV Export: Save scraped job data in CSV format for further analysis.

Installation

  1. Clone the repository:
    git clone https://github.com/username/wuzzuf-job-scraper.git
  2. Install the required libraries:
    pip install -r requirements.txt

Usage

  1. Open the wuzzuf_scraper.py file and set your scraping parameters (e.g., job title, location).
  2. Run the script:
    python wuzzuf_scraper.py
  3. The scraped data will be saved as a CSV file in the project directory.

For more detailed usage instructions, check out the code documentation in the script.


Future Improvements

  • Automated Scheduling: Implement job scraping on a schedule using cron jobs or Python schedulers.
  • Data Visualization: Add visualizations for job market trends (e.g., demand per location, popular companies).
  • Additional Filters: Expand filter options to include job type (full-time, part-time) and salary ranges.