Skip to content

DeathHashira/linkedin_job_tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinkedIn Job Tracker

A Python-based tool that automates job searches on LinkedIn, extracts job listings, and exports the data. Built with Selenium for browser automation and optionally integrated with a PyQt6 GUI.


🧭 Project Structure

linkedin_job_tracker/
├── app/
│   ├── __init__.py
│   └── main.py                 # Entry point: runs from CLI or GUI
│
├── services/
│   ├── __init__.py
│   └── linkdin_scraper.py      # Contains the LinkedInJobScraper class
│
├── ui/
│   ├── __init__.py
│   ├── data.py                 # Database setup
│   └── ui.py                   # Optional PyQt6 GUI window & widgets
│   
├── requirements.txt            # Python dependencies
├── README.md                   # Project README (this file)
├── job_list.csv                # Stores jobs 
└── linkedin_cookies.json       # Stores the cookies for login

⚙️ Features

  • ✅ Automated LinkedIn login
  • 🔎 Keyword + location-based job search
  • 🧩 Search filters and scrolling
  • 📄 Extraction of job listings
  • 💾 Export to CSV or database
  • 🎨 Optional PyQt6 GUI interface

▶️ Getting Started

Prerequisites

  1. Install Python 3.11+
  2. Install Mozilla Firefox
  3. Download the appropriate WebDriver (e.g., ChromeDriver)

Setup

  1. Clone the repository
git clone https://github.com/DeathHashira/linkedin_job_tracker.git
cd linkedin_job_tracker
  1. Set your credentials and driver path in the code

Edit values directly in the relevant Python files (e.g., login credentials, driver path) as there is no .env file used.


▶️ Usage

Run from Terminal

python -m app.main

This command will:

  • Launch the browser
  • Log in to LinkedIn
  • Perform search and apply filters
  • Extract job information
  • Export data to CSV or database

🧩 Code Structure

Core Class: LinkedInJobScraper

class LinkedInJobScraper:
    def __init__(self, driver)
    def login(self)
    def search_combinations(self)
    def search(self)
    def filter(self)
    def go_to_job_url(self)
    def load_jobs(self)
    def extract_jobs(self)
    def export_jobs(self)

All functionality is handled inside this single class using Selenium WebDriver.


✅ Testing

Run tests using:

pytest

Tests ensure logic and data handling works correctly. Selenium automation is not tested in this setup.


📦 Data Export

Exported job data can be saved as:

  • CSV files
  • SQLite database (default)
  • You can modify the export_jobs() method for additional formats

📞 Contact

For issues, feature requests, or contributions, please open an issue or submit a pull request.


Happy job hunting! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages