Exemple de Comment lister et télécharger tous les fichiers d'un répertoire url en utilisant python:
Introduction
Exemple de cas : un collègue vous a envoyé un lien url (par exemple 'https://**/pub/') avec une liste de fichiers (voir image ci-dessous). Le but ici est de lister et de télécharger tous les fichiers qui se terminent par ".nc":
Lister tous les fichiers sous le répertoire d'une url donnée
La première étape consiste à créer une liste avec tous les liens de fichiers. Pour ce faire, une solution consiste à utiliser requests
import requests
url = 'https://******/pub/'
page = requests.get(url).text
Ensuite pour extraire uniquement les liens de la page une solution est d'utiliser BeautifulSoup
from bs4 import BeautifulSoup
soup = BeautifulSoup(page, 'html.parser')
links = [url + '/' + node.get('href') for node in soup.find_all('a') if node.get('href').endswith('nc')]
Télécharger tous les fichiers localement
Pour télécharger tous les fichiers, une solution consiste à utiliser urlretrieve:
import urllib.request
for link in links:
print(link)
filename = link.split('/')[-1]
print(filename)
urllib.request.urlretrieve(link,filename)
Voir aussi
Liens | Tags |
---|---|
Comment télécharger un fichier (pdf, text,...) du web à partir de l'url en python ? | Python; urlretrieve |
Comment télécharger un fichier (pdf, text,...) du web à partir de l'url en python ? | Python; urlretrieve |