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 相关文章推荐
python3制作捧腹网段子页爬虫
Feb 12 Python
Python分治法定义与应用实例详解
Jul 28 Python
使用python 和 lint 删除项目无用资源的方法
Dec 20 Python
Python虚拟环境的原理及使用详解
Jul 02 Python
Django框架基础模板标签与filter使用方法详解
Jul 23 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
OpenCV+Python--RGB转HSI的实现
Nov 27 Python
python扫描线填充算法详解
Feb 19 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
从python读取sql的实例方法
Jul 21 Python
Python的轻量级ORM框架peewee使用教程
Feb 05 Python
python Tkinter模块使用方法详解
Apr 07 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获取mysql字段名称和其它信息的例子
2014/04/14 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
input的focus方法使用
2010/03/13 Javascript
javascript 数组学习资料收集
2010/04/11 Javascript
别了 JavaScript中的isXX系列
2012/08/01 Javascript
JQquery的一些使用心得分享
2012/08/01 Javascript
一个css与js结合的下拉菜单支持主流浏览器
2014/10/08 Javascript
Node.js中使用socket创建私聊和公聊聊天室
2015/11/19 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
Bootstrap carousel轮转图的使用实例详解
2016/05/17 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
js css自定义分页效果
2017/02/24 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
2019/05/08 Javascript
layui table复选框禁止某几条勾选的实例
2019/09/20 Javascript
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
Python两个字典键同值相加的几种方法
2019/03/05 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
Django生成数据库及添加用户报错解决方案
2020/10/09 Python
使用CSS3制作一个简单的Chrome模拟器
2015/07/15 HTML / CSS
Oasis服装官网:时尚女装在线
2020/07/09 全球购物
自荐书格式
2013/12/01 职场文书
2014年国庆标语
2014/06/30 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
社区文明倡议书
2015/04/28 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL