使用urllib恢复网页.read()

时间:2014-04-15 09:48:00

标签: python urllib

这是我的代码:

headers={'User-Agent': 'Mozilla/5.0'}
req=Request(url,headers=headers)
file=open(name,'wb')
file.write(urlopen(req).read())
file.close()

但是当我得到一个例外并想要重新下载文件时我必须从开始下载;和HTTPResponse没有搜索方法。我该如何恢复下载? 谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用HTTP 1.0的byte serving feature。在这里,您可以在请求中添加range标头。例如添加

Range: bytes=9500-

将从第9500字节下载文件。所以你最终会做这样的事情:

  1. 查看您已下载的字节数。
  2. 从第一个缺失的字节开始下载,并将输出附加到文件中。
  3. 备注:

    • 服务器需要支持这种技术(并非总是如此)。
    • 您可以使用已经支持继续下载的wget(请参阅参数--continue