Bonjour,
Je voudrais récupérer la liste des fichiers présents dans un répertoire d'un site web : http://www.lesite.com/lerepertoire/(...)
dans une liste sous Python. L'index du répertoire en question est accessible (en tapant cette adresse dans un navigateur je vois tous les fichiers présents).
Comment puis-je faire ?
# urllib + regexp
Posté par Aurélien Bompard (site web personnel) . Évalué à 2.
Les cibles des liens sont entourés de guillemets et commencent par "http://", ça devrait suffire pour construire une belle regexp. Ensuite tu lui applique la méthode findall() et ça devrait être bon.
Fais gaffe à bien compiler ta regexp en "non-greedy" mais sinon je pense que ça devrait bien se passer
# Ben, euh ?
Posté par Christophe Chailloleau-Leclerc . Évalué à 1.
Même pô vrai ! J'ai cliqué sur le lien, ben... rien !
;-)
Ok, je --> []
# En une ligne...
Posté par bendaf . Évalué à 2.
re.findall("(?i)href=\"(?<file>.+)\">(?P=file)</a>",urllib2.urlopen("http://www.lesite.com/lerepertoire/").read())
C'est peut-être pas ce qu'il y a de plus lisible, mais ça renvoie bien la liste des fichiers.
[^] # Re: En une ligne...
Posté par guix77 . Évalué à 1.
Comme je cherchais à dresser la liste des images, j'ai utilisé :
listedesimages = re.findall('.jpg\">(.*)',urllib2.urlopen(Serveur).read()
)
for image in listedesimages:
image = Serveur + image
Liste.append(image)
ou Serveur est l'URL du répertoire contenant ces images.
[^] # Re: En une ligne...
Posté par Aurélien Bompard (site web personnel) . Évalué à 2.
s/python/perl/g
</troll>
[^] # Re: En une ligne...
Posté par Aurélien Bompard (site web personnel) . Évalué à 2.
En python on préfèrera la lisibilité (et puis de toute façon faudra faire "import re" et "import urllib2" :) )
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.