如何下载部分文件

use*_*863 2 download urllib3 python-3.3 python-requests

我正在编写一个程序,可以将文件下载到1Gb以下的任何地方.现在我正在使用请求包来下载文件,虽然它有效(我认为它有时会超时)但它很慢.我已经看到了一些使用urllib2的多部分下载示例的示例,但我正在寻找一种方法来使用urllib3或请求,如果该包具有该功能.

Ian*_*sco 8

您对请求文档的了解程度如何?

快速入门文档中,描述了以下内容

r = requests.get(url, stream=True)
r.raw.read(amount)
Run Code Online (Sandbox Code Playgroud)

但是,更好的方法是:

fd = open(filename, 'wb')
r = requests.get(url, stream=True)
for chunk in r.iter_content(amount):
    fd.write(chunk)
fd.close()
Run Code Online (Sandbox Code Playgroud)

(假设您将下载的内容保存到文件中.)

  • 这是可能的,但需要您使用HTTP Range标头结合一些Python线程来了解HTTP如何做到这一点.然后,服务器可能无论如何都不支持它. (3认同)