Bonjour à tous,
Je suis en train de réaliser un programme Python qui permet à l'utilisateur de rechercher le nombre d’occurrences de certains termes de son choix dans l'ensemble des débats de l'Assemblée Nationale, afin notamment d'en étudier l'évolution, avec plusieurs fonctionnalités qui peuvent être intéressantes. Tout ce qui se dit lors des débats à l'Assemblée Nationale est en effet retranscris et ces données sont disponibles en ligne.
Sur ce lien, on retrouve pour chaque année un répertoire qui contient un certain nombre d'archives .taz. D'après cette notice, ces archives contiennent pour chacune d'entre elles deux fichiers XML. C'est celui qui commence par CRI m'intéresse dans mon script.
Cependant donc, je ne sais pas exactement à quoi correspond une archive .taz. Cela semble être la compression d'un fichier .tar et .Z, assez archaïque donc et très peu documenté sur internet.
Je suis parvenu avec la commande bash suivante à transformer des archives .taz que j'avais téléchargé en local en .tar:
for d in *.taz; do tar xaf $d; done
Je sais par ailleurs comment travailler avec une archive .tar directement dans mon programme Python, donc je suis parvenu à tester mon programme.
Je cherche donc comment je pourrais dans mon programme Python récupérer à partir d'une url comme celle-ci par exemple, l'archive .tar qui lui correspond afin de travailler ensuite avec le fichier .xml qui m'intéresse.
J'ai bien évidemment essayé de l'ouvrir comme je le ferais pour ouvrir une archive .tar:
1 2 3 4 5 6
| import urllib.request
import tarfile
url = "https://echanges.dila.gouv.fr/OPENDATA/Debats/AN/2011/AN_20111013_088.taz"
stream = urllib.request.urlopen(url)
file = tarfile.open(fileobj=stream, mode="r:gz") |
Mais j'obtiens une erreur qui m'indique que ce n'est pas un fichier gzip
tarfile.ReadError: not a gzip file
Quelqu'un aurait-il une idée ? Merci d'avance pour vos réponses.
Partager