我有以下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 :(得分:1)
也许您正在下载的服务器拒绝urllib2默认用户代理。考虑使用伪用户代理标头构建自定义开启器,如下所示:
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
并使用opener()
代替urllib2.urlopen()