volleyball-dev-backend/scraper/scrapeScoreboard.js
2025-06-05 14:02:24 +00:00

31 lines
1002 B
JavaScript

// /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;
};