ich mit folgendem Code in einer Schleife eine riesige Menge von Dateien herunterzuladen:wie anmutig Timeout während mit Python Download
try:
urllib.urlretrieve(url2download, destination_on_local_filesystem)
except KeyboardInterrupt:
break
except:
print "Timed-out or got some other exception: "+url2download
Wenn die Server-mal-out auf URL url2download, wenn die Verbindung nur initiiert Die letzte Ausnahme wird ordnungsgemäß behandelt. Aber manchmal reagiert Server, und das Herunterladen gestartet, aber der Server ist so langsam, dass es dann Stunden dauert es noch eine Datei, und schließlich gibt es so etwas wie:
Enter username for Clients Only at albrightandomalley.com:
Enter password for in Clients Only at albrightandomalley.com:
und hängt nur dort (obwohl kein Benutzername/passworde wird geantwortet, wenn der gleiche Link über den Browser heruntergeladen wird).
Meine Absicht in dieser Situation wäre - überspringen Sie diese Datei und gehen Sie zum nächsten. Die Frage ist - wie geht das? Gibt es einen Weg in Python zu spezifizieren, wie lange es OK ist, beim Herunterladen einer Datei zu arbeiten, und wenn mehr Zeit bereits verbraucht ist, unterbrechen Sie und gehen Sie weiter?
Was Sie sehen, da der Server für die Authentifizierung fragen ist. Standardmäßig fordert 'urllib.urlretrieve()' den Benutzer auf, einen Benutzernamen und ein Passwort einzugeben. Wenn Sie dies vermeiden möchten, können Sie eine neue Klasse erstellen, die von 'urllib.FancyURLOpener' abgeleitet ist und diesen" Fehler "selbst behandeln. –