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 02 Python
Python 类的特殊成员解析
Jun 20 Python
Python实现基于KNN算法的笔迹识别功能详解
Jul 09 Python
python3学习之Splash的安装与实例教程
Jul 09 Python
Python json模块dumps、loads操作示例
Sep 06 Python
python无限生成不重复(字母,数字,字符)组合的方法
Dec 04 Python
python 文本单词提取和词频统计的实例
Dec 22 Python
Python列表切片操作实例总结
Feb 19 Python
pybind11和numpy进行交互的方法
Jul 04 Python
浅谈Python线程的同步互斥与死锁
Mar 22 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
Mar 30 Python
Python扫描端口的实现
Jan 25 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
PHP怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
详解php语言最牛掰的Laravel框架
2017/11/20 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
csdn 博客的css样式 v3
2009/02/24 Javascript
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
JS辨别访问浏览器判断是android还是ios系统
2014/08/19 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
2016/10/05 Javascript
Vue.JS入门教程之事件监听
2016/12/01 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
详解node.js搭建代理服务器请求数据
2017/04/08 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
通过实例了解JS 连续赋值
2019/09/24 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
vue实现登录功能
2020/12/31 Vue.js
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
实例讲解Python中浮点型的基本内容
2019/02/11 Python
Python3和pyqt5实现控件数据动态显示方式
2019/12/13 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
python中@contextmanager实例用法
2021/02/07 Python
萌新HTML5 入门指南(二)
2020/11/09 HTML / CSS
工程地质勘察专业大学生求职信
2013/10/13 职场文书
房产授权委托书范本
2014/09/22 职场文书
公务员政审材料范文
2014/12/23 职场文书
复兴之路纪录片观后感
2015/06/02 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫