全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
123
返回列表 发新帖
楼主: ficefox
打印 上一主题 下一主题

有精通易语言的MJJ嘛

[复制链接]
21#
 楼主| 发表于 2020-2-27 21:42:09 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
22#
 楼主| 发表于 2020-2-27 21:43:12 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
23#
 楼主| 发表于 2020-2-27 21:44:16 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
24#
发表于 2020-2-27 22:26:10 | 只看该作者
ficefox 发表于 2020-2-27 21:42
pm一下文件给我 大佬 我看看

没有做错误处理的!!!
  1. import requests
  2. import re
  3. import urllib.parse

  4. class FileInfo():
  5.     def __init__(self, headers):
  6.         self.headers = headers

  7.     @property
  8.     def name(self):
  9.         rs = re.search(r'filename="(.*?)"', str(self.headers))
  10.         if rs:
  11.             return urllib.parse.unquote(rs.groups()[0])
  12.         else:
  13.             return None

  14.     @property
  15.     def size(self):
  16.         rs =  self.headers.get('Content-Length', None)
  17.         return int(rs) if rs else rs

  18. class Down():
  19.     def __init__(self, url):
  20.         self.url = url
  21.    
  22.     def view_bar(self, num, total):
  23.         rate = num/total
  24.         rate_num = int(rate * 100)
  25.         number = int(50*rate)
  26.         r = '\r[%s%s]  %d%%' % ("#"*number, " "*(50-number), rate_num, )
  27.         print("{}".format(r), end="\r")

  28.     def Run(self):
  29.         r = requests.get(self.url, stream=True)
  30.         file = FileInfo(r.headers)
  31.         print("fileName: ", file.name)
  32.         print("fileSize: ", file.size)
  33.         downloadedSize = 0
  34.         with open(file.name, "wb") as f:
  35.             for chunk in r.iter_content(chunk_size=1024):
  36.                 if chunk:
  37.                     f.write(chunk)
  38.                     downloadedSize += 1024
  39.                     self.view_bar(downloadedSize, file.size)
  40.         r.close()
  41.         

  42. if __name__ == "__main__":
  43.     url = input("Download Url >>> ")
  44.     d = Down(url)
  45.     d.Run()
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-14 00:29 , Processed in 0.058236 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表