// /scraper/scrapeScoreboard.js const axios = require("axios"); const cheerio = require("cheerio"); module.exports = async function scrapeScoreboard(url) { const res = await axios.get(url); const $ = cheerio.load(res.data); const tabelle = []; $("table.samsDataTable tbody tr").each((_, row) => { const tds = $(row).find("td"); const platzText = $(tds[0]).text().trim(); const platz = parseInt(platzText, 10); if (isNaN(platz)) return; const team = $(tds[1]).find("a span").first().text().trim(); const statusRaw = $(tds[2]).text().trim(); const status = statusRaw.includes("▲") ? "Aufstieg" : statusRaw.includes("▼") ? "Abstieg" : "-"; const spiele = parseInt($(tds[3]).text().trim(), 10); const siege = parseInt($(tds[4]).text().trim(), 10); const saetze = $(tds[5]).text().trim(); const punkte = parseInt($(tds[6]).text().trim(), 10); tabelle.push({ platz, team, status, spiele, siege, saetze, punkte }); }); return tabelle; };