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

2013-05-06 11:16:28 +08:00
 hatcat3
http://img3.douban.com/lpic/s3218545.jpg 比如这张图片的大小?
5092 次点击
所在节点    问与答
10 条回复
aveline
2013-05-06 11:20:07 +08:00
不可能。。。
BOYPT
2013-05-06 11:35:31 +08:00
叫另外一台机器下载然后告诉你大小。
alexrezit
2013-05-06 11:49:45 +08:00
可以只下载一部分然后检查 meta 信息.
luztak
2013-05-06 11:52:26 +08:00
HTTP HEAD请求.
qiayue
2013-05-06 12:01:02 +08:00
几年前看到的一篇文章
再谈javascript图片预加载技术
http://www.planeart.cn/?p=1121

其中一段话:
“浏览器在加载图片的时候你会看到图片会先占用一块地然后才慢慢加载完毕,并且不需要预设width与height属性,因为浏览器能够获取图片的头部数据。基于此,只需要使用javascript定时侦测图片的尺寸状态便可得知图片尺寸就绪的状态。”
具体请看原文
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
2013-05-06 12:10:44 +08:00
for的缩进没了,请自行补上
requests需要先安装才能用

v2ex不用gits怎么贴代码来着……
alexrezit
2013-05-06 12:32:42 +08:00
@funagi
貌似楼主说的是宽高尺寸吧...
luztak
2013-05-06 12:37:03 +08:00
@alexrezit 文件大小用HEAD
图片*尺寸* 读jpg文件头啊...
muzuiget
2013-05-06 12:51:39 +08:00
不可能吧,顶多能做到下载文件头几个字节判断,期望里面包含了尺寸数据。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/67865

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX