2016-03-20 2 views
1

Я пытаюсь загрузить несколько pdf-файлов с одного и того же сайта с помощью python 3.5, но я могу загрузить только первый PDF-файл, и он переходит в цикл.Загрузить pdf loop

Любая помощь будет высоко оценена.

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

Что значит «это входит в цикл»? В вашем коде нет петель, но должен быть один, как демонстрирует ответ Намита. –

ответ

1

Используйте while вместо if. if будет проверять только одно условие и загрузить файл, это ветвящийся оператор. while - оператор цикла.

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

Возможно, вы знаете, как обращаться к адресу «urllib.error.HTTPError: HTTP Error 404: Not Found»? –

+0

@CarlosLozano Это означает, что URL-адрес, который вы извлекаете неправильно, не найден на веб-сайте сервера. –

+0

Да, некоторые файлы недоступны. Я проверяю документацию для urllib, но я не уверен, как с этим справиться. –

Смежные вопросы