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.
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 (requires yo login into an account).
- 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.
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.