37da3b8940
LinkedIn's f_WT=2 filter is nearly ignored for guest scraping and guest pages expose no structured workplace-type field, so text filtering is the only option: - Require positive remote evidence (title/location/description must say remote) before keeping a job; silence now means drop, not keep. Configurable via scraper.require_remote_evidence. - Catch more hybrid/on-site phrasings: "Hybrid: <city>", "office-based", "N days onsite/in office", "return to office", titles with hybrid/onsite (without tripping on "hybrid cloud"). - Append "Remote" to search keywords when remote_only is on, since keyword matching surfaces far more genuinely remote posts than the broken filter. Verified against live LinkedIn postings: three known hybrid/on-site leaks dropped, known remote post kept. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
74 lines
1.9 KiB
YAML
74 lines
1.9 KiB
YAML
# ============================================================
|
|
# JOB MATCHER CONFIG
|
|
# ============================================================
|
|
|
|
# --- Matching Thresholds ---
|
|
min_match_score: 70 # Only alert on jobs scoring >= this
|
|
max_detail_fetches_per_run: 50 # Limit detail page requests per run
|
|
|
|
# --- Score Weights (must sum to 1.0) ---
|
|
weights:
|
|
skills: 0.40
|
|
title: 0.25
|
|
experience: 0.15
|
|
keywords: 0.15
|
|
certifications: 0.05
|
|
|
|
# --- Pre-filter: Skip jobs whose title contains these ---
|
|
title_blacklist:
|
|
- "marketing"
|
|
- "sales"
|
|
- "recruiter"
|
|
- "accounting"
|
|
- "graphic design"
|
|
- "product manager"
|
|
- "data scientist"
|
|
- "frontend developer"
|
|
- "ui/ux"
|
|
|
|
# --- Blacklisted Companies ---
|
|
company_blacklist: []
|
|
|
|
# --- Skills you WANT to learn (boost jobs that need these) ---
|
|
aspirational_skills:
|
|
- "terraform"
|
|
- "kubernetes"
|
|
- "docker"
|
|
- "ci/cd"
|
|
|
|
# --- Scraper Settings ---
|
|
scraper:
|
|
keywords:
|
|
- "Network Engineer"
|
|
- "Network Analyst"
|
|
- "Network Administrator"
|
|
- "NOC Engineer"
|
|
- "Infrastructure Engineer"
|
|
- "Cloud Network Engineer"
|
|
- "Systems Engineer"
|
|
location: "Canada"
|
|
work_types: ["remote"]
|
|
remote_only: true # also drop jobs whose location/description reveals hybrid or on-site
|
|
# LinkedIn's remote filter is unreliable for logged-out scraping, so on top of
|
|
# dropping visible hybrid/on-site jobs, require positive proof of remote
|
|
# (title/location/description must say remote). Strict: jobs that never state
|
|
# they're remote are dropped. Set false to keep unverified jobs.
|
|
require_remote_evidence: true
|
|
pages_per_keyword: 3
|
|
delay_between_pages: [3, 6]
|
|
delay_between_keywords: [5, 10]
|
|
delay_between_details: [4, 8]
|
|
|
|
# --- Database ---
|
|
database:
|
|
host: "localhost"
|
|
user: "root"
|
|
password: ""
|
|
database: "job_scraper_db"
|
|
|
|
# --- Telegram ---
|
|
# Fill these in with your bot token and chat ID
|
|
telegram:
|
|
token: "YOUR_BOT_TOKEN_HERE"
|
|
chat_id: "YOUR_CHAT_ID_HERE"
|