Bonjour !
J’essaie de prendre le contenu d’une balise script sur la page https://www.funcraft.net/fr/joueurs?q=pseudo, jusque là aucun soucis, c’est relativement simple, il suffit de faire :
router.get('/api/funcraft/rush/:username', async (req, res) => {
let usernameParameter = req.params.username
let dom = await JSDOM.fromURL(`https://www.funcraft.net/fr/joueurs?q=${usernameParameter}`)
console.log(dom.window.document.querySelectorAll('script'))
function getPage(user) {
return JSDOM.fromURL(`https://www.funcraft.net/fr/joueurs?q=${user}`)
}
async function getUser(user) {
const dom = await getPage(user)
let funcraftPgames = dom.window.document.body.querySelectorAll('script')[6].textContent
res.send(funcraftPgames)
}
getUser(usernameParameter)
})
Du coup j’obtiens https://hasteb.in/epomohic.swift
Cependant, j’aimerais juste prendre le contenu des variables, pas le nom (donc pgames
, pstats
et pstatsTotal
Le truc c’est que je ne sais pas comment faire pour délimiter, en gros faire en sorte que ça commence après var pgames =
et que ça termine à la fin de cette variable, et ce pour toutes les variables
Si je fais pas ça, je ne pourrai pas JSON.parse
car il sera invalide.
Je pourrai très bien faire comme ça : https://github.com/Nevgup/funcraft-api/blob/master/api/routes/index.js Mais le problème c’est que c’est au caractère près, et du coup si une valeur est plus grande chez le joueur A que le joueur B, alors le JSON sera pas valide dans les deux cas
J’espère avoir été clair :v
Merci d’avance