Oui ils "nettoient" les flux rss assez régulièrement pour enlever les anciens épisodes. Ce n'est peut-être pas plus mal du point de vue performance qu'il n'y ait pas trop d'épisodes dans le flux rss...
En tout cas, les anciens épisodes sont accessibles depuis le site web aussi. Et en regardant le html de la page https://www.radiofrance.fr/franceinter/podcasts/les-p-tits-bateaux, on peut assez facilement la parser et récupérer un dictionnaire pour chaque épisode, par ex.:
{model:"ManifestationAudio",id:"186d54e1-47fd-4abf-92af-88fa5d99e8f5",title:"Qu\'est-ce qui est sous Paris\xa0?",url:"https://media.radiofrance-podcast.net/podcast09/10137-15.01.2024-ITEMA_23614681-2024F4778S0015-27.m4a",created:1705294380,duration:245,shareable:false}
Voilà un "proof of concept" qui fait le parsing d'une page en python (je laisse le reste en exercice):
import json
import re
from urllib.request import urlopen
page = 50
html = (
urlopen(f'https://www.radiofrance.fr/franceinter/podcasts/les-p-tits-bateaux?p={page}')
.read()
.decode()
)
episodes = [
json.loads(re.sub('([{,])([a-zA-Z]*):', r'1円"2円":', ep))
for ep in re.findall('{model:"ManifestationAudio"[^}]*}', html)
]
[^] # Re: Publication des flux
Posté par jbd . En réponse au journal La publicité sur Radio France - podcasts, direct et appli. Évalué à 9.
Oui ils "nettoient" les flux rss assez régulièrement pour enlever les anciens épisodes. Ce n'est peut-être pas plus mal du point de vue performance qu'il n'y ait pas trop d'épisodes dans le flux rss...
En tout cas, les anciens épisodes sont accessibles depuis le site web aussi. Et en regardant le html de la page https://www.radiofrance.fr/franceinter/podcasts/les-p-tits-bateaux, on peut assez facilement la parser et récupérer un dictionnaire pour chaque épisode, par ex.:
Donc c'est faisable de parser toutes les pages:
https://www.radiofrance.fr/franceinter/podcasts/les-p-tits-bateaux?p=2
...
et de récupérer les liens de tous les anciens épisodes pour les mettre dans un flux rss.
Voilà un "proof of concept" qui fait le parsing d'une page en python (je laisse le reste en exercice):
import json
import re
from urllib.request import urlopen
page = 50
html = (
urlopen(f'https://www.radiofrance.fr/franceinter/podcasts/les-p-tits-bateaux?p={page}')
.read()
.decode()
)
episodes = [
json.loads(re.sub('([{,])([a-zA-Z]*):', r'1円"2円":', ep))
for ep in re.findall('{model:"ManifestationAudio"[^}]*}', html)
]