2013-02-19 36 views
3

我有以下Python代码:不完整filedownloads与Python

import urllib2 
DIR = '/home/aaron/Desktop/aaron-file/media/' 
LOC = DIR+'/'+bounty.title+'.mp3' 

u = urllib2.urlopen(url, 'rb') 
localFile = open(LOC, 'wb') 
localFile.write(u.read()) 
localFile.close() 
u.close() 

它只会造成很小(约60KB文件),文件正确操作接受突然停止。当我从firefox下载(复制并粘贴相同的url)时,我会得到完整大小的文件(大约2mb)。

我正在运行32位ubuntu。

更新: 我认为这可能是一个问题,http内容长度不准确。那么我怎么会忽略/设置不同的长度。

谢谢。

+0

你可以提供一个样本网址 – 2013-02-19 08:16:03

回答

1

也许您从中下载的服务器拒绝urllib2默认用户代理。考虑构建一个自定义的首战用假的用户代理头,像这样:

opener = urllib2.build_opener() 
opener.addheaders = [('User-agent', 'Mozilla/5.0')] 

,并使用opener()代替urllib2.urlopen()