Python: salvando uma grande página da Web em um arquivo

Deixe-me começar dizendo: não sou novo em programação, mas sou muito novo em pytho

Eu escrevi um programa usando o urllib2 que solicita uma página da web que eu gostaria de salvar em um arquivo. A página da Web tem cerca de 300 KB, o que não me parece particularmente grande, mas parece ser suficiente para me causar problemas, por isso estou chamando de 'grande'. Estou usando uma chamada simples para copiar diretamente do objeto retornado deurlopen no arquivo:

file.write(webpage.read())

mas fica parado por alguns minutos, tentando gravar no arquivo e, eventualmente, recebo o seguinte:

Traceback (most recent call last):
  File "program.py", line 51, in <module>
    main()
  File "program.py", line 43, in main
    f.write(webpage.read())
  File "/usr/lib/python2.7/socket.py", line 351, in read
    data = self._sock.recv(rbufsize)
  File "/usr/lib/python2.7/httplib.py", line 541, in read
    return self._read_chunked(amt)
  File "/usr/lib/python2.7/httplib.py", line 592, in _read_chunked
    value.append(self._safe_read(amt))
  File "/usr/lib/python2.7/httplib.py", line 649, in _safe_read
    raise IncompleteRead(''.join(s), amt)
httplib.IncompleteRead: IncompleteRead(6384 bytes read, 1808 more expected)

Não sei por que isso deve causar tanto sofrimento ao programa?

EDIT |

aqui é como estou recuperando a página

jar = cookielib.CookieJar()

cookie_processor = urllib2.HTTPCookieProcessor(jar);

opener = urllib2.build_opener(cookie_processor)
urllib2.install_opener(opener)

requ_login = urllib2.Request(LOGIN_PAGE,
                             data = urllib.urlencode( { 'destination' : "", 'username' : USERNAME, 'password' :  PASSWORD } ))

requ_page = urllib2.Request(WEBPAGE)    
try:
    #login
    urllib2.urlopen(requ_login)

    #get desired page
    portfolio = urllib2.urlopen(requ_page)
except urllib2.URLError as e:
    print e.code, ": ", e.reason

questionAnswers(1)

yourAnswerToTheQuestion