Python - Listar todos los archivos de una URL

 
Vista:
sin imagen de perfil
Val: 46
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Listar todos los archivos de una URL

Publicado por Juan (14 intervenciones) el 03/03/2021 15:05:37
Tengo un problema que no consigo solucionar. Tengo una URL en la que hay distintas carpetas según el día del mes. Es decir, en el mes de enero tengo 31 carpetas con nombres: 01,02,03,...,31. Entonces, me ayudaron el foro para conseguir listar todas las carpetas y recogerlas en variables de esta forma:

1
2
3
4
5
6
url= https://www.web.es/enero/
    for i in range(1,32):
        if i<10:
            url_i.append(url+"0"+str(i)+"/")
        else:
            url_i.append(url+str(i)+"/")
Lo que pasa es que ahora a mí me gustaría recorrer esas urls y listar los archivos de texto que hay dentro para luego a su vez abrir cada archivo de texto. Por ejemplo. Cuando i=1, con el código anterior obtendría: https://www.web.es/enero/01/ y en esa dirección tendré distintos ficheros con distintos nombres, por ejemplo: fichero1.txt, esteesotroarchivo.txt, archivo5.txt... Entonces lo que me gustaría es con otro código obtener: https://www.web.es/enero/01/fichero1.txt https://www.web.es/enero/01/esteesotroarchivo.txt etc.

He probado a usar:

1
requests.get(i,allow_redirects=True)
Donde i es la carpeta en la que tengo los archivos que quiero listar, pero a parte de que poner la variable i no me funciona, si la sustituyo por una url completa:

1
requests.get("https://www.web.es/enero/01/",allow_redirects=True)
Me ejecuta el código, pero me muestra todo lo que hay en la página: títulos, comentarios, etc. y yo solo querría los nombres de los archivos.

¿Cómo podría lograr esto? Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Listar todos los archivos de una URL

Publicado por joel (901 intervenciones) el 03/03/2021 16:02:24
Hola Juan, la manera que se me ocurre es que utilices un bucle flor para ir obteniendo todos los archivo y los vayas añadiendo al array que quieras... algo así:

1
2
3
4
5
6
7
8
9
url= https://www.web.es/enero/
for i in range(1,32):
    if i<10:
        url_i.append(url+"0"+str(i)+"/")
    else:
        url_i.append(url+str(i)+"/")
    path="0"+str(i)[:2]
    for archivo in os.listdir(path):
        arrayArchivos.append(archivo)

donde archivo es el nombre del archivo de la carpeta indicada.

Te puede servir?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 46
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Listar todos los archivos de una URL

Publicado por Juan (14 intervenciones) el 03/03/2021 16:31:55
Me sale que el sistema no puede encontrar la ruta especificada. Creo que path es solo para listar archivos del sistema no? Porque lo mio está en un servidor externo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Listar todos los archivos de una URL

Publicado por joel (901 intervenciones) el 03/03/2021 17:43:54
Si están en un servidor externo tendrás que conectarte por ftp, ssh, samba, o utilizar alguna api del servidor, si no, no se me ocurre como tener acceso a leer los archivos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar