-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfetchGames.js
45 lines (37 loc) · 1.16 KB
/
fetchGames.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const axios = require("axios");
const cheerio = require("cheerio");
// Fetch the games from librefutbol
async function fetchGames() {
try {
const response = await axios.get("https://librefutboltv.com/agenda/");
const $ = cheerio.load(response.data);
let games = [];
$("li a").each((i, element) => {
const gameText = $(element).text().trim();
if (gameText.includes("\n")) {
const parts = gameText.split("\n").map((part) => part.trim());
const reorderedGameText = parts.reverse().join(" - ");
games.push(reorderedGameText);
}
});
return {
status: "success",
content: games,
};
} catch (error) {
let errorMessage = "";
if (error.response) {
errorMessage = `Error: ${error.response.status} Recibido desde el servidor del sitio.`;
} else if (error.request) {
// No response was received from the server.
errorMessage = "Error: Sin respuesta del servidor.";
} else {
errorMessage = `Error: ${error.message}`;
}
return {
status: "error",
content: `${errorMessage}. No se puede conectar con la url..`,
};
}
}
module.exports = fetchGames;