Add startup.si scraper

startup.si has no public jobs API or feed, so parse the listing page.
It lists every posting since 2019 on one page, so only postings from
the last 90 days are kept. Also decode common named HTML entities
(š, ž, č, dashes, quotes) case-sensitively.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-12 20:53:27 +02:00
co-authored by Claude Opus 5.5
parent 0324ff7f2a
commit f6e5605108
4 changed files with 106 additions and 1 deletions
+7
View File
@@ -4,6 +4,13 @@ Scrapes job sites once a day, stores results in SQLite (`data/jobs.sqlite`), and
No runtime dependencies. It uses Bun's built-in SQLite, HTTP server and HTMLRewriter.
## Sources
| Source | How | Notes |
|---|---|---|
| slo-tech.com (Ljubljana) | HTML scrape | ~20 newest jobs |
| startup.si | HTML scrape (no public API or feed) | Site lists every posting since 2019 on one page, so only the last 90 days are kept (`startupSi(days)` in `src/scrapers/index.ts`) |
## Run
```sh