2016-03-20 7 views
1

Ich versuche, mehrere pdfs von der gleichen Seite mit einem Python 3.5 herunterladen, aber ich bekomme nur das erste pdf herunterladen und es geht in eine Schleife.Download pdf loop

Jede Hilfe würde sehr geschätzt werden.

import urllib.request 
import urllib.error 

first = int(input('First:')) 
last = int(input('Last:')) 

if first <= last: 
    response = urllib.request.urlopen("http://www.netapp.com/us/media/tr-" + str(first) +".pdf") 
    file = open(str(first) + ".pdf", 'wb') 
    file.write(response.read()) 
    file.close() 
    response.close() 
    first = first + 1 
else: 
    print("Completed") 
+1

Was meinen Sie "es geht in eine Schleife"? Es gibt keine Schleifen in Ihrem Code, aber es sollte einen geben, wie Namits Antwort zeigt. –

Antwort

1

eine while anstelle eines if verwenden. if prüft nur einmal auf die Bedingung und lädt die Datei herunter, es handelt sich um einen Verzweigungsoperator. while ist ein Looping-Operator.

import urllib.request 
import urllib.error 

first = int(input('First:')) 
last = int(input('Last:')) 

while first <= last: 
    response = urllib.request.urlopen("http://www.netapp.com/us/media/tr-" + str(first) +".pdf") 
    file = open(str(first) + ".pdf", 'wb') 
    file.write(response.read()) 
    file.close() 
    response.close() 
    first = first + 1 
print("Completed") 
+0

Wissen Sie vielleicht, wie Sie "urllib.error.HTTPError: HTTP Error 404: Not Found" ansprechen? –

+0

@CarlosLozano Das bedeutet, dass die URL, die Sie abrufen, nicht korrekt ist und nicht auf der Server-Website gefunden wurde. –

+0

Ja, einige Dateien sind nicht verfügbar. Ich überprüfe die Dokumentation für urllib, aber ich bin mir nicht sicher, wie ich damit umgehen soll. –