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

yipeiwu_com7年前Python基础

在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,改后正常

在这里插入图片描述

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实现html转ubb代码(html2ubb)

这两天在用python写一个采集器,有个功能模块是html代码转换为ubb,网上貌似没有现成程序,就自己写了个函数,顺便锻炼下自己的正则。 import re def Html2UB...

python3连接mysql获取ansible动态inventory脚本

Ansible Inventory  介绍 Ansible Inventory 是包含静态 Inventory 和动态 Inventory 两部分的,静态 Inventory...

Python绘制热力图示例

Python绘制热力图示例

本文实例讲述了Python绘制热力图操作。分享给大家供大家参考,具体如下: 示例一: # -*- coding: utf-8 -*- from pyheatmap.heatmap i...

Python 将RGB图像转换为Pytho灰度图像的实例

问题: 我正尝试使用matplotlib读取RGB图像并将其转换为灰度。 在matlab中,我使用这个: img = rgb2gray(imread('image.png'));...

python3读取csv和xlsx文件的实例

基于win10系统,python3.6 读取csv 使用csv函数包,安装 pip install csv 使用方法: import csv def fileload(filenam...