A Python-based automation tool that scrapes job listings from selected job boards (like Indeed, LinkedIn, or others) based on user-defined keywords and locations, and notifies users via email.
Master JSON API Parsing and Website Scraping with Python Automation https://youtu.be/WF4LtDWpye8
- Scrape jobs by keyword and location
- Filter by posting date (e.g., "last 24 hours")
- Email job listings directly to your inbox
- Avoids duplicates by saving job IDs
- Can be scheduled to run daily via
cronor Task Scheduler
- Python 3.8+
requestsbeautifulsoup4smtpliboryagmailfor email notificationsdotenvfor managing secrets (optional but recommended)
Install dependencies:
pip install -r requirements.txt-
Clone the repo
git clone https://github.com/yourusername/job-scraper-notifier.git cd job-scraper-notifier -
Create
.envfile (or edit config inconfig.py)EMAIL_ADDRESS=youremail@example.com EMAIL_PASSWORD=yourpassword RECIPIENT_EMAIL=recipient@example.com JOB_KEYWORDS=frontend developer,react JOB_LOCATION=Toronto, ON -
Run the script
python job-scraper.py
The email includes:
- Job Title
- Company
- Location
- Summary
- Direct Link
New Job Alert: Frontend Developer - Shopify
Location: Toronto, ON
Company: Shopify
https://www.indeed.ca/viewjob?jk=abc123
Job Summary:
We are looking for a frontend developer with experience in React...
---
To run daily:
Use Task Scheduler to run:
python C:\path\to\job-scraper.pyAdd a cron job:
0 9 * * * /usr/bin/python3 /path/to/job-scraper.py- Add support for more job boards (LinkedIn, Workopolis, Glassdoor)
- Add Slack/Telegram notifications
- Add UI dashboard for configuring preferences
Manibala Sinha LinkedIn • Portfolio
MIT License