- 📜 Description
- 🧰 Required settings and dependencies
- ⚙️ Job scanner configuration
▶️ How to start the scanner- 🎥 Demo how it works
The scanner has a MongoDB
based storage for previously viewed job posts to prevent duplicate notifications. It will only send notifications for new job postings.
Telegram integration | Viewed job posts storage | Bot HTTP client | Parsing HTML | Browser with user context, in case of anti-bot system | Control the browser and parse, in case of anti-bot system | Containerization & Orchestration |
---|---|---|---|---|---|---|
telegraf | mongodb | axios | cheerio | fakebrowser | puppeteer | docker-compose |
- Install the Docker Compose
No additional installations or configurations are required on your computer.
This means it operates independently of your technology stack and doesn't add any unnecessary bloat to your system.
- Define the list of required keywords to match when parsing the job title in
JOB_KEYWORDS
config/default.json
- Set Telegram bot token.
TELEGRAM.TOKEN
config/default.json
| How to generate the TOKEN - Set id of the Telegram chat to send job alerts to.
TELEGRAM.CHAT_ID
config/default.json
| Don't forget to add the bot to this chat. - Extend the Job Sites list by the required ones in
config/jobSites.json
. Note:jobTitleSelector
- css selector of the job post title. If there is some anti bot system except captcha, enable flagantiBotCheck
and the Job Scanner will parse it anyway by FakeBrowser. - It scans sites each 30 minutes. The interval parameter could be configured in
SCAN_INTERVAL_MINUTES
config/default.json
.
- run
docker compose up
- If you have changed some data, but the scanner is already running. Then stop it and restart it by rebuilding
docker-compose up --build --force-recreate