python3 爬虫利用Requests 实现下载进度条

 一、编写代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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文件

1
pyinstaller .\downfile.py

三、运行exe文件 

 

posted @   MR__Wang  阅读(1022)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2018-11-07 解决phpmyadmin 遇见的问题
点击右上角即可分享
微信分享提示