2013-03-23 153 views
-5

我需要下載類似如何在python下載pdf文件?

str = 'http://query.nytimes.com/mem/archive-free/pdf?res=9A00EEDE1431E13BBC4850DFBF66838A649FDE' 
url = urllib2.urlopen(str) 
file = open('test.pdf', 'w') 
file.write(url.read()) 
file.close() 

它只是創建了一個錯誤的PDF文件。

我該如何寫入文件?

+0

現在還不清楚:你想打開它嗎?(這是一件困難的事情),或者你想下載它嗎?在後者的情況下,'urllib'可能會起作用。 – xxmbabanexx 2013-03-23 23:12:19

+1

['urlretrieve()'](http://docs.python.org/3.0/library/urllib.request.html#urllib.request.urlretrieve) – millimoose 2013-03-23 23:12:38

+0

我們在這裏幫助您解決代碼問題,而不是爲你創建代碼。 – 2013-03-23 23:19:26

回答

8

您可以使用pattern模塊,該模塊構建於urllib2之上,具有更高的抽象級別。

from pattern.web import URL 

url = URL('http://query.nytimes.com/mem/archive-free/pdf?res=9A00EEDE1431E13BBC4850DFBF66838A649FDE') 
f = open('nytimes.pdf', 'wb') 
f.write(url.download(cached=False)) 
f.close()