python3 爬虫利用Requests 实现下载进度条
2024-08-26 23:58:31
一、编写代码
from datetime import datetime,date,timedelta
from contextlib import closing
import urllib,urllib3
import os
import requests def downLoad(fileUrl,filePath):
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
with closing(requests.get(fileUrl,headers=headers,stream=True)) as response:
chunkSize = 1024
contentSize = int(response.headers['content-length'])
dateCount = 0
with open(filePath,"wb") as file:
for data in response.iter_content(chunk_size=chunkSize):
file.write(data)
dateCount = dateCount + len(data)
nowJd = (dateCount / contentSize) * 100
print("\r 文件下载进度: %d%%(%d%d) - %s" % (nowJd,dateCount,contentSize,filePath),end='') def getUrl(**args):
yesterday=(date.today() + timedelta(days = -2)).strftime("%Y-%m-%d")
fileName='xxx-'+ yesterday +'.rar'
url = "http://3.1.2.2:8079/"+ fileName
return url,fileName if __name__ == "__main__":
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
fileUrl = getUrl()[0]
filePath = "D:\downfile\\"+ getUrl()[1]
downLoad(fileUrl,filePath)
二、pyinstaller 打包为exe文件
pyinstaller .\downfile.py
三、运行exe文件
最新文章
- 1Z0-053 争议题目解析502
- Cesium原理篇:3最长的一帧之地形(3:STK)
- activeMq笔记
- Qt学习中遇到的问题
- systemd详解
- inand和emmc区别
- 10.15_SVG可以解决问题吗
- qt 学习之路 :QML 语法
- Currency 货币 filter
- Swift - 1 (常量、变量、字符串、数组、字典、元组、循环、枚举、函数)
- 玩转Web之servlet(五)---- 怎样解决servlet的线程安全问题
- 使用 Advanced Installer 打包 一键安装Web应用程序
- MongoDB安装心得
- private static
- oc __weak和__strong的区别
- [Baltic2004]数字序列
- 【最小生成树】Bzoj1232 [Usaco2008Nov]安慰奶牛cheer
- post请求数据量过大,提交失败
- scrapy中 selenium(中间件) + 语言处理 +mysql
- vue请求本地自己编写的json文件。