6
votes

3 Réponses :


1
votes

Je ne vois pas que le module python a cette option.

Vous pouvez essayer de deviner le nom de fichier qui sera utilisé (généralement, ce sera la partie de l'url après le dernier caractère barre oblique).

Ou vous pouvez télécharger le fichier dans un nouveau répertoire temporaire, puis vérifier si ce nom de fichier existe dans votre répertoire principal.


0 commentaires

1
votes

À partir du code source , le La fonction wget.download () ne semble pas avoir l'option pour des paramètres supplémentaires tels que -nc ou -N pour sauter les téléchargements si le fichier existe déjà . Seule la version CLI semble prendre en charge cela.

La fonction:

def download(url, out=None, bar=bar_adaptive):
    ...

Vous ne pouvez choisir que l'url et le répertoire de sortie


0 commentaires

3
votes

wget.download () n'a pas une telle option. La solution de contournement suivante devrait faire l'affaire pour vous:

subprocess.run(["wget", "-r", "-nc", "-P", path, url], shell=True)

Si le fichier est déjà là, vous obtiendrez le message suivant:

File ‘index.html’ already there; not retrieving.

MODIFIER: Si vous exécutez ceci sous Windows, vous devrez également inclure shell = True :

import subprocess

url = "https://url/to/index.html"
path = "/path/to/save/your/files"
subprocess.run(["wget", "-r", "-nc", "-P", path, url])


3 commentaires

J'obtiens une erreur: `` `` [WinError 2] Le système ne trouve pas le fichier spécifié '' ``


@ 641i130 Vous pouvez utiliser subprocess.run (["wget", "-r", "-nc", "-P", path, url], shell = True) si vous exécutez ceci sur Windows. J'ai modifié ma réponse pour inclure cette option pour ceux qui exécutent Windows. J'espère que cela aide.


Je vous remercie! Cela a été très utile!