feat: add data-jobs.ch and arbeitnow.ch sources

This commit is contained in:
2026-11-03 15:35:01 +01:00
parent b5cf8931ea
commit b05bddb73d
3 changed files with 131 additions and 11 deletions
+3 -1
View File
@@ -2,7 +2,7 @@
import { searches } from "./config.ts";
import { parseCsvLine } from "./csv.ts";
import { fetchJobs, isViableContent, isViableUrl } from "./fetch.ts";
import { fetchDataCareer, fetchStellenBasel, fetchItJobsCh, fetchJobRoom, fetchBaselIntlOrgs, fetchJobBasel, fetchEnglishJobSearch, fetchBaselJobs, fetchSciCore, fetchSwisscom, fetchNovartisBasel, fetchMoreJobs, fetchStartupJobs } from "./fetch-other.ts";
import { fetchDataCareer, fetchStellenBasel, fetchItJobsCh, fetchJobRoom, fetchBaselIntlOrgs, fetchJobBasel, fetchEnglishJobSearch, fetchBaselJobs, fetchSciCore, fetchSwisscom, fetchNovartisBasel, fetchMoreJobs, fetchStartupJobs, fetchArbeitnow } from "./fetch-other.ts";
const CSV = "./results/jobs.csv";
const OLD_HEADER = "date_found,posted_at,search,title,company,link";
@@ -193,6 +193,8 @@ const extraSources: Array<{ label: string; fetch: () => ReturnType<typeof fetchD
{ label: "more-jobs.ch", fetch: fetchMoreJobs, dedupeByTitle: true },
// Aggregator of company ATS feeds (Wise, Stripe, Avaloq…) that LinkedIn also carries.
{ label: "startup.jobs", fetch: fetchStartupJobs, dedupeByTitle: true },
// ATS-fed board that overlaps ~50% with LinkedIn (measured 2026-11-03).
{ label: "arbeitnow.ch", fetch: fetchArbeitnow, dedupeByTitle: true },
];
async function processExtraSource({ label, fetch: fetchFn, dedupeByTitle }: (typeof extraSources)[number]): Promise<void> {