Metadata-Version: 2.1
Name: linkedin_job_scraper
Version: 0.0.2
Summary: Web scraper of jobs from LinkedIn
Home-page: https://github.com/iliadzen/linkedin_job_scraper
Author: Ilia Zenin
Author-email: iliazenin.msu@gmail.com
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: selenium==4.23.1
Requires-Dist: requests==2.32.3
Requires-Dist: pytest==8.3.2
Requires-Dist: beautifulsoup4==4.12.3

## Overview
A Python package with a web scraper of jobs from LinkedIn.

Can be used for:
- automated jobs search 🔍
- creating custom alerts 🚨
- collecting data for analytical reports 📈

Possible extention: extract keywords from job descriptions with LLMs.

### Classes
**JobSearch** - to get a list of jobs from LinkedIn job search page by defined parameters.

Parameters:
- keywords: keywords to search for.
- location: location to search in.
- distance (optional): distance in miles to search for.
- work_modes (optional): work modes codes to filter by: 1 - On-site, 2 - Remote, 3 - Hybrid, None - all.
- company_codes (optional): companies codes to filter by.
- industries (optional): industries codes to filter by.
- experience_levels (optional): experience levels to filter by: 1 - Internship, 2 - Entry level, 3 - Associate, 4 - Mid-Senior level, 5 - Director, 6 - Executive.
- easy_apply (optional): filter only Easy Apply jobs.
- posted_ago_max (optional): max number of second a job was posted ago, default 1 day.
 
**Job** - to parse the job page by a given url.

## How to use
```
from selenium import webdriver

driver = webdriver.Chrome()

params = {
    'keywords': 'Data Engineer',
    'location': 'Germany'
}
search = JobSearch(driver, **params)

jobs = search.get_jobs() # returns the list of dicts with parsed info (position, company name, job page link, posted ago and etc.)
job = Job(driver, jobs[0]['job_link'])
description = job.get_job_description()
```

An extended example can be found in *example.ipynb* notebook.

