python3获取url文件大小示例代码


Posted in Python onSeptember 18, 2019

在python3中,urllib2被替换为urllib.requeset,因此头文件中添加

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 int(fileSize)

使用上段代码发现输出为0,考虑应该是没查询到content-length字段,打印response.headers字段后,发现content-length字段应改为Content-Length,改后正常

python3获取url文件大小示例代码

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 int(fileSize)

总结

以上所述是小编给大家介绍的python3获取url文件大小示例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python统计文本文件内单词数量的方法
May 30 Python
关于反爬虫的一些简单总结
Dec 13 Python
Python3中详解fabfile的编写
Jun 24 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
Oct 11 Python
对python Tkinter Text的用法详解
Oct 11 Python
提升Python程序性能的7个习惯
Apr 14 Python
python3爬虫学习之数据存储txt的案例详解
Apr 24 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
PHP统计代码行数的小代码
Sep 19 Python
python实现画图工具
Aug 27 Python
OpenCV灰度化之后图片为绿色的解决
Dec 01 Python
Python Matplotlib绘制两个Y轴图像
Apr 13 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
Sep 18 #Python
python3使用GUI统计代码量
Sep 18 #Python
django中的图片验证码功能
Sep 18 #Python
python tkinter图形界面代码统计工具
Sep 18 #Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
Sep 18 #Python
Python 元组操作总结
Sep 18 #Python
python sorted函数的小练习及解答
Sep 18 #Python
You might like
一个简单计数器的源代码
2006/10/09 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
PHP多文件上传类实例
2015/03/07 PHP
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
jQuery解析XML与传统JavaScript方法的差别实例分析
2015/03/05 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
微信小程序 教程之小程序配置
2016/10/17 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
JS解决position:sticky的兼容性问题的方法
2017/10/17 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
vue实现搜索功能
2019/05/28 Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
2019/09/24 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
小程序如何自主实现拦截器的示例代码
2019/11/04 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
详解VUE中的插值( Interpolation)语法
2020/10/18 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
Python缩进和冒号详解
2016/06/01 Python
利用python实现命令行有道词典的方法示例
2017/01/31 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
统计岗位职责
2014/02/21 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
SQL实现LeetCode(176.第二高薪水)
2021/08/04 MySQL