python中的下载器

from urllib.request import urlopen

# url = "http://imgsrc.baidu.com/forum/w%3D580/sign=16d420cb8b01a18bf0eb1247ae2e0761/22a4462309f790520522e1d900f3d7ca7bcbd51c.jpg"
# urlObj = urlopen(url)
# imgContent = urlObj.read()
# with open("doc/teiba.jpg", 'wb') as f:
#     f.write(imgContent)


DOWNLOAD_DIR = 'doc'


def download(url):
    try:
        urlObj = urlopen(url, timeout=3)
    except Exception as e:
        print("download %s error" % (url))
        imgContent = None
    else:
        # http://imgsrc.baidu.com/forum/w%3D580/sign=16d420cb8b01a18bf0eb1247ae2e0761/22a4462309f790520522e1d900f3d7ca7bcbd51c.jpg
        filename = url.split("/")[-1]
        # 'wb' === 写的是二进制文件(图片, 视频, 动图, .pdf)
        # 'ab'
        with open("%s/%s" % (DOWNLOAD_DIR, filename), 'ab') as f:
            # 如果文件特别大的时候, 建议分块下载;每次只读取固定大小, 防止占用内存过大.
            while True:
                imgContentChunk = urlObj.read(1024 * 3)
                if not imgContentChunk:
                    break
                f.write(imgContentChunk)
                # 可以添加下载的程度(百分率);

            print("%s下载成功" % (filename))


url = 'http://imgsrc.baidu.com/forum/w%3D580/sign=3cf8899b5d0fd9f9a0175561152cd42b/74094b36acaf2edd74ccef0e811001e93901931c.jpg'
download(url)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值