requests 实现爬虫下载进度实时查看
import requests
def Donwler(file_url,file_path):
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"}
# stream参数默认情况下是False会立即取下载并放到内存当中
# 如果文件比较大会出现内存不足的情况 True并不会立马取下载而是在使用
# iter_content:一块一块的遍历要下载的内容
# iter_lines:一行一行的遍历要下载的内容 这两个参数的时候取遍历下载
response = requests.get(url=file_url,headers=headers,stream=True)
chunk_size = 1024 # 每次最大请求字节
content_size = int(response.headers['content-length']) # 获得本次请求的字节
data_count = 0
with open(file_path, "wb") as file:
for data in response.iter_content(chunk_size=chunk_size): # 一块一块以下载
file.write(data)
data_count = data_count + len(data)
now = (data_count / content_size) * 100 # 计算下载的进度
print("\r 文件下载进度:%d%%(%d/%d) - %s" % (now, data_count, content_size, file_path), end=" ")
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",
}
file_url = 'https://down.360safe.com/se/360se8.1.1.404.exe' # 文件链接
file_path = "C:\\demo/002.exe" # 文件路径
Down_load(file_url, file_path)