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函数帮助查询小工具
Mar 13 Python
在Python中封装GObject模块进行图形化程序编程的教程
Apr 14 Python
使用Python的判断语句模拟三目运算
Apr 24 Python
python用Pygal如何生成漂亮的SVG图像详解
Feb 10 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
Python使用修饰器进行异常日志记录操作示例
Mar 19 Python
Python操作redis实例小结【String、Hash、List、Set等】
May 16 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
Jun 26 Python
Python实用库 PrettyTable 学习笔记
Aug 06 Python
Python传递参数的多种方式(小结)
Sep 18 Python
使用python获取邮箱邮件的设置方法
Sep 20 Python
pytorch 实现删除tensor中的指定行列
Jan 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
php获取301跳转URL简单实例
2013/12/16 PHP
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
javascript基本算法汇总
2016/03/09 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
python MNIST手写识别数据调用API的方法
2018/08/08 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
2020/03/10 Python
美国保健品专家:Life Extension
2018/05/04 全球购物
Perfume’s Club法国站:购买香水和化妆品
2019/05/02 全球购物
广州迈达威.net面试题目
2012/03/10 面试题
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
小学英语复习计划
2015/01/19 职场文书
2019销售早会主持词
2019/06/27 职场文书
读《茶花女》有感:山茶花的盛开与凋零
2020/01/17 职场文书
为什么你写的height:100%不起作用
2021/05/10 HTML / CSS
详解Java实践之抽象工厂模式
2021/06/18 Java/Android
Javascript设计模式之原型模式详细
2021/10/05 Javascript