Adjunto una nueva versión del script que permite filtrar por usuarios (así, siqueréis competir entre vosotros, también podéis xD)
function getSourceAsDOM(url) {
const xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", url, false);
xmlHttp.send();
const parser = new DOMParser();
return parser.parseFromString(xmlHttp.responseText, "text/html");
}
function getPosts(url, usersList) {
let page = 0;
let dom;
const users = [];
do {
dom = $(getSourceAsDOM(`${url}_s${page}`));
page += 50;
if (!dom.find(".author.ellipsize").length) break;
dom.find(".author.ellipsize").each((i, el) => {
const nick = $(el).text().trim();
if (!usersList.length || (usersList.length && usersList.includes(nick))) {
if (!users[nick]) {
users[nick] = 0;
}
users[nick]++;
}
});
} while (true);
return users;
}
const usersList = [ "2Pac", "Hispalense", "Elek", "LLioncurt", "Nutne", "Tito_co", "Sergetsu", "Josem138", "^TxTeZ^", "Dannang", "Whar", "Lestat25", "Eric Draven", "Dorigon", "Amchacon", "NaN", "Deison", "ReivenFox", "dlabo", "Grifox", "Goncantin", "Aska" ];
const baseUrl = "https://www.elotrolado.net/hilo_villalobos-alien-vs-predator_2433694";
console.table(getPosts(baseUrl, usersList));
Al momento de escribir este post, este es el resultado:
LLioncurt 10
Sergetsu 28
Lestat25 14
^TxTeZ^ 11
Eric Draven 13
Nutne 6
Grifox 5
Whar 21
Hispalense 10
Dorigon 6
NaN 22
Deison 2
ReivenFox 2
dlabo 13
Aska 14