This repository contains the LinkedIn scraping module of the larger Joven project — an AI-powered assistant that helps job seekers by parsing resumes, finding relevant job openings, and streamlining applications.
The scraper automates job searches on LinkedIn Jobs, extracts listings in real-time, and saves detailed job descriptions for further processing by other Joven modules.
- Logs into LinkedIn using saved cookies (no repeated manual logins).
- Scrapes jobs from LinkedIn Jobs Search with filters:
- Keyword search (
python developerby default) - Location (India, via
geoId) - Posted date (last 24 hours)
- Distance (100 km default)
- Keyword search (
- Captures:
- Job list panel (titles, companies, locations, summaries)
- Detailed job description of the selected listing
- Saves job details to a file (
jobDetail.txt) every 5 minutes.
- Python 3.8+
- Google Chrome (latest version)
- ChromeDriver (matching your Chrome version)
👉 Download ChromeDriver
Install dependencies with:
pip install selenium python-dotenvSure 👍 — here’s your polished Setup/Usage section in proper Markdown code block so you can copy it directly into your README.md:
git clone https://github.com/ABarpanda/Joven.git
cd Joven- Log into LinkedIn in Chrome.
- Export your session cookies (e.g., using Latest chrome driver).
- Save them as
linkedin_cookies.pklin the project root.
- Create a
.envfile if needed later (for credentials/config). Currently, only cookies are required. pip install -r requirements.txtto install all the dependencies.
- Place
chromedriver.exein the project root or add it to your PATH. - Update the script path in
main.pyif needed:
service = Service(executable_path="chromedriver.exe")Run the scraper in two steps:
python get_cookies.py
python main.pyThe script will:
- Open LinkedIn and restore your login session using cookies.
- Perform a job search for "python developer" in India.
- Console → Prints job list (titles, companies, etc.)
- File →
jobDetail.txtcontains the latest detailed job description
Example:
Software Engineer – Microsoft
Location: Bangalore
Posted: 1 day ago
Description:
We are looking for a Python developer...
You can modify the search filters in main.py:
params = {
"distance": 100, # Search radius
"f_TPR": "r86400", # Posted in last 24h
"geoId": 102713980, # India
"keywords": "python developer" # Search keyword
}- Change
keywords,geoId, ordistanceto match your needs. 👉 LinkedIn geoId list reference
- Use responsibly: LinkedIn actively detects and may block aggressive scraping.
- Add delays/random sleep if scraping at scale.
- Works best with headless mode (optional with Selenium).
- If cookies expire, regenerate
linkedin_cookies.pkl.
- Store scraped jobs in CSV/JSON format
- Add multi-keyword / multi-location scraping
- Integrate with resume parser module
This project is part of the Joven ecosystem. Distributed under the MIT License.