filename)filename是要保存到本地的文件名。函数后面还有2个可选参数,要用就看帮助文档吧。多线下载的话,每一线程要指定下载服务器上文件的哪一块。http协议中head里可以指定Range。下面用的是urllib2模块request
=
urllib2.Request(url)request.add_header("Range",
"bytes=%d-%d"%(1024,
204)
#指定下载文件的范围opener
=
urllib2.build_opener()data
=
opener.open(request).read()现在data里面就是文件的1024字节到2048字节的内容。
urllib2是一个标准库,安装python之后就自带了,并且只在于python2中
在python3中,已经把urllib,urllib2等的合并为一个包urllib了。
另外查看模块说明,python自带了一个官方文档可以查看:
1.先打看自带的ide,点击help-python Docs(或者也可以直接看f1)
2.再在打开的文档里,输入urllib2搜素,回车:
或者也可以使用命令help(模块名)(前提得先导入):
import os,urllib.request,reos.chdir(r'd:')
data = urllib.request.urlopen(url).read()
with open(filename, 'wb') as f:
f.write(data)
url就是你要下载的文件链接,filename就是下载后保存的文件名。这段代码是把文件下载在d盘根目录下,你可以自己修改。
不过是单线程的,想要多线程下载,比较复杂,我没有试过,这个下载小文件还是没有问题的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)