python requests下载zip文件_Python3 用 requests 2.x 下载大文件

【环境】

OS:Windows 10 x64

Python:3.6.5 x64

requests:2.18.4

【代码】

# encoding: utf-8

# author: walker

# date: 2018-06-11

# summary: 使用 requests 下载大文件

import time

import requests

# 下载一个大文件

def DownOneFile(srcUrl, localFile):

print('%s\n --->>>\n  %s' % (srcUrl, localFile))

startTime = time.time()

with requests.get(srcUrl, stream=True) as r:

contentLength = int(r.headers['content-length'])

line = 'content-length: %dB/ %.2fKB/ %.2fMB'

line = line % (contentLength, contentLength/1024, contentLength/1024/1024)

print(line)

downSize = 0

with open(localFile, 'wb') as f:

for chunk in r.iter_content(8192):

if chunk:

f.write(chunk)

downSize += len(chunk)

line = '%d KB/s - %.2f MB, 共 %.2f MB'

line = line % (downSize/1024/(time.time()-startTime), downSize/1024/1024, contentLength/1024/1024)

print(line, end='\r')

if downSize >= contentLength:

break

timeCost = time.time() - startTime

line = '共耗时: %.2f s, 平均速度: %.2f KB/s'

line = line % (timeCost, downSize/1024/timeCost)

print(line)

if __name__ == '__main__':

srcUrl = r'http://cachefly.cachefly.net/100mb.test'

localFile = r'D:\Python3Project\test\out\out.test'

DownOneFile(srcUrl, localFile)

【效果图】

【相关阅读】

***walker ***

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用Pythonrequests下载zip文件的步骤如下: 1. 导入requests库 ```python import requests ``` 2. 发送GET请求获取zip文件内容 ```python url = 'http://example.com/file.zip' response = requests.get(url) ``` 3. 将zip文件内容写入本地文件 ```python with open('file.zip', 'wb') as f: f.write(response.content) ``` 其中,`url`为zip文件下载链接,`file.zip`为本地保存的文件名。`response.content`为zip文件的二进制内容。 ### 回答2: Python requests是最常用的Python网络请求库之一。它可以发送HTTP请求,支持http/https的站点,支持GET/POST/PUT/DELETE等请求方法,支持url参数,header参数,cookie参数等。另外,requests也提供了下载数据的方法。 首先需要安装requests库,可以使用pip命令进行安装: ```python pip install requests ``` 假设我们需要下载一个zip文件使用requests库可以进行以下操作: ```python import requests url = 'http://example.com/example.zip' response = requests.get(url) with open('example.zip', 'wb') as f: f.write(response.content) print('下载完成') ``` 通过 `requests.get()` 方法来获取文件的二进制数据,然后将其保存到本地磁盘。文件保存的路径和名称可以自己定义。使用 `with open() as f:`语句可以确保文件使用完后自动关闭。最后输出 “下载完成” 来表示下载成功。 在下载大型文件时,为了避免内存溢出,可以使用 `response.iter_content()` 方法一块块地下载。可以通过指定每个块的大小来控制每次下载的数据量,例如: ```python import requests url = 'http://example.com/example.zip' response = requests.get(url, stream=True) chunk_size = 1024 with open('example.zip', 'wb') as f: for chunk in response.iter_content(chunk_size=chunk_size): f.write(chunk) print('下载完成') ``` 使用 `stream=True` 参数来启用流式下载,获取到的数据仍然是二进制数据。然后通过迭代器一块块地下载并写入到本地。每个块的大小通过 `chunk_size` 参数来指定,一般设置为1024或1024*1024。 通过以上方法,可以使用Python requests下载zip文件。无论是小文件还是大文件requests库都可以轻松地下载和保存到本地。 ### 回答3: Python是一种功能强大的编程语言,经常用于网络应用的开发。requestsPython的一个第三方库,是一个HTTP客户端库,它允许发送HTTP/1.1请求,并能够自动处理许多与HTTP相关的任务。 使用Python requests下载zip文件非常简单,可以使用requests.get()方法。在实际应用中,我们需要提供一个可用的下载地址,然后使用requests.get()方法获取zip文件内容,最后将内容写入磁盘文件。 以下是Python requests下载zip文件的例子: ``` import requests url = 'https://www.example.com/yourfile.zip' r = requests.get(url) with open('yourfile.zip', 'wb') as f: f.write(r.content) print('Download successfully') ``` 在这个例子中,我们使用requests.get()方法获取了zip文件的内容,然后将内容写入名为“yourfile.zip”的二进制文件。最后,程序输出“Download successfully”表示下载成功。 有些情况下可能需要验证HTTPS连接,因此需要在requests.get()方法中提供安全验证。我们可以使用verify参数来验证HTTPS连接: ``` r = requests.get(url, verify=True) ``` 要使用代理服务器下载zip文件,我们需要在requests.get()方法中提供代理服务器的IP地址和端口号: ``` proxy = {'http':'http://yourproxy:1234', 'https':'https://yourproxy:1234'} r = requests.get(url, proxies=proxy) ``` 在这个例子中,我们设置了HTTP和HTTPS代理服务器,它们分别位于“yourproxy:1234”。 Python requests库还有其他许多函数和参数,这是Python网络开发的重要主题。它是一个功能强大,易于使用的库,是许多Web应用程序的必备工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值