2013-03-18 3 views
0

Я использую следующий код, чтобы скачать мои файлы:urllib2 не загружает PDF-файл

def downloadfile(url): #function to download file  
    file_name = filename_parse(url) 
    #print "***********************" 
    #print "File download started:" 
    #stime= time.time() 
    u = urllib2.urlopen(url) 
    f = open(file_name, 'wb') 
    getfilesize(u) 
    file_size = getfilesize(u) 
    print "Downloading: %s Bytes: %s \n" % (file_name, file_size) 
    file_size_dl = 0 
    block_sz = 512 
    progressbar(u,block_sz,file_size_dl,f,file_size) 
f.close() 

вещь в том, что он может загрузить любой файл EXE, TXT и другие, кроме файлов .pdf ... как можно Я заставляю его загружать pdf-файлы?

+0

Что происходит, когда вы даете это PDF? –

+0

Да где я застрял? что такое 'u.getcode()' и 'u.info()', также вы не показываете нам, как вы на самом деле GET данные, 'urlopen()' просто открывает URL-адрес .. он не извлекает данные (обычно через '.read()' или что-то еще) – Torxed

+1

Используйте 'curl', чтобы ваш сервер не делал ничего необычного при запросе файла PDF. –

ответ

0

Я знаю, что это старый вопрос, но и для всех тех, кто наткнуться на него и Tyring, чтобы загрузить файл в формате PDF с помощью Python 2 и urllib2 вот код:

import urllib2 
url = 'http://mensenhandel.nl/files/pdftest2.pdf' 
print "Download started..." 
f = urllib2.urlopen(url) 
data = f.read() 
with open("test.pdf", "wb") as code: 
    code.write(data) 
print "Download completed..." 

Просто измените URL для ваши потребности ...

Источник: http://www.blog.pythonlibrary.org/2012/06/07/python-101-how-to-download-a-file/