2014-04-15 25 views
1

這裏是我的代碼:簡歷網頁.read()與urlib

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

但是當我得到一個例外,要重新下載文件,我必須從一開始下載;和HTTPResponse沒有查找方法。我怎樣才能恢復我的下載? 謝謝!

回答

0

您可以使用HTTP 1.0的byte serving feature。在這裏,您可以將range標題添加到您的請求中。例如,添加

Range: bytes=9500- 

將從第9500字節下載文件。所以你最後會這樣做:

  1. 看看你已經下載了多少字節。
  2. 從第一個丟失的字節開始下載並將輸出附加到文件中。

注:

  • 服務器需要支持該技術(並非總是如此)。
  • 您可以使用wget它已經繼續了下載,支持(見參數--continue