Python通过URL获取文件大小数据

import urllib.request as urllib2


def getRemoteFileSize(url, proxy=None):
    """ 通过content-length头获取远程文件大小
     url - 目标文件URL
     proxy - 代理 """
    opener = urllib2.build_opener()
    if proxy:
        if url.lower().startswith('https://'):
            opener.add_handler(urllib2.ProxyHandler({'https': proxy}))
        else:
            opener.add_handler(urllib2.ProxyHandler({'http': proxy}))
    try:
        request = urllib2.Request(url)
        request.get_method = lambda: 'HEAD'
        response = opener.open(request)
        response.read()
    except Exception:
        return 0
    else:
        # print(response.headers) 请求头文件信息输出
        fileSize = dict(response.headers).get('Content-Length', 0)
        return round(int(fileSize)/1024/1024/1024,2) # 字节变成GB,保留2位小数
        
url = "文件URL下载地址"
getRemoteFileSize(url)

这个使用的是Python读取Head的文件info,截取其中的数据

Content-Length  # 文件字节长度

单位是字节,我做了转换成GB的操作,具体有注释,round 保留了2位,会四舍五入。

Katen Doe

Fiime分享

专业分享,共建知识殿堂

猜你喜欢

wave

按 ECS 键退出搜索