V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hatcat3
V2EX  ›  问与答

python 怎么取得一张网络图片的大小呢在不下载该图片的前提下

  •  
  •   hatcat3 · 2013-05-06 11:16:28 +08:00 · 4920 次点击
    这是一个创建于 4017 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://img3.douban.com/lpic/s3218545.jpg 比如这张图片的大小?
    10 条回复    1970-01-01 08:00:00 +08:00
    aveline
        1
    aveline  
       2013-05-06 11:20:07 +08:00
    不可能。。。
    BOYPT
        2
    BOYPT  
       2013-05-06 11:35:31 +08:00
    叫另外一台机器下载然后告诉你大小。
    alexrezit
        3
    alexrezit  
       2013-05-06 11:49:45 +08:00
    可以只下载一部分然后检查 meta 信息.
    luztak
        4
    luztak  
       2013-05-06 11:52:26 +08:00
    HTTP HEAD请求.
    qiayue
        5
    qiayue  
       2013-05-06 12:01:02 +08:00
    几年前看到的一篇文章
    再谈javascript图片预加载技术
    http://www.planeart.cn/?p=1121

    其中一段话:
    “浏览器在加载图片的时候你会看到图片会先占用一块地然后才慢慢加载完毕,并且不需要预设width与height属性,因为浏览器能够获取图片的头部数据。基于此,只需要使用javascript定时侦测图片的尺寸状态便可得知图片尺寸就绪的状态。”
    具体请看原文
    funagi
        6
    funagi  
       2013-05-06 12:08:14 +08:00
    import requests
    requests.head('http://img3.douban.com/lpic/s3218545.jpg').headers.get('content-length')


    http://docs.python-requests.org/en/latest/



    OR



    import httplib
    conn = httplib.HTTPConnection('img3.douban.com')
    conn.request('HEAD', '/lpic/s3218545.jpg')
    res = conn.getresponse()
    for t in res.getheaders():
    if t[0] == 'content-length':
    length = t[1]
    break

    print(length)
    funagi
        7
    funagi  
       2013-05-06 12:10:44 +08:00
    for的缩进没了,请自行补上
    requests需要先安装才能用

    v2ex不用gits怎么贴代码来着……
    alexrezit
        8
    alexrezit  
       2013-05-06 12:32:42 +08:00
    @funagi
    貌似楼主说的是宽高尺寸吧...
    luztak
        9
    luztak  
       2013-05-06 12:37:03 +08:00
    @alexrezit 文件大小用HEAD
    图片*尺寸* 读jpg文件头啊...
    muzuiget
        10
    muzuiget  
       2013-05-06 12:51:39 +08:00
    不可能吧,顶多能做到下载文件头几个字节判断,期望里面包含了尺寸数据。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   760 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:37 · PVG 04:37 · LAX 13:37 · JFK 16:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.