2013-03-23 119 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()