#19276 - How to Fetch and Parse RSS Feeds in JavaScript | CSS-Tricks
https://css-tricks.com/how-to-fetch-and-parse-rss-feeds-in-javascript/Ils sont mignon avec leur parseur en 10 lignes de code :)
Si vous avez déjà vraiment essayé de faire un lecteur RSS/Atom (c’est mon cas, je sais de quoi je parle), vous saurez qu'il y a autant de syntaxes RSS/Atom que de sites (ou au moins de CMS) et qu'il n’y en a pas un qui a tort (ça reste un format flexible).
Par contre, c’est bien à ton parseur de faire en sorte qu'il supporte tout ce monde…
Et le parsage n’est que le début des emmerdes.
Avant de commencer à parser le contenu, il faut le récupérer.
Juste pour vous donner une idée :
– Atom ? RSS ? XML ? Est-ce que le header correspond au contenu ?
– contenu valide XML ?
– Les liens sont dans les <link>, ou dans les <id> ? En attribut ? Et pour la date ? le contenu ? l’ID ?
– encodage : UTF-8 ? UTF8 ? utf-8 ? ISO ? Windows52 ?
– si le contenu est tronqué, est-ce que ça tronque correctement les caractères multioctet ?
– l’encodage est donné : dans le XML ? dans les en-têtes ? Et s'il y a les deux, ce sont les mêmes ? Et s’il n’y en a pas ?
– contenu Gzip ? Si oui, est-ce indiqué ? Le serveur respecte le "accept-encoding" du client ?
– Requête exigeant un user-agent en en-tête ? d’autres en-têtes chelous obligatoires ?
– RGPD-wall en HTML avant le flux RSS ?
– HTTPS ? Certificat valide ?
– redirection ?
Heureusement, avec cURL (nettement plus puissant que Wget) on peut spécifier une myriade d’options pour virer les alertes courantes, mais ça ne couvrira pas tout.
M’enfin, ça reste un boulot intéressant.
On se tapera la tête contre les murs six fois par jour, mais c’est intéressant.