2009-05-15 11 views
2

웹 사이트에서 tar 파일을 다운로드하는 데 약간의 도움이 필요합니다. 웹 사이트는 원하는 파일을 선택하고 제출을 클릭하면 다운로드 창이 열리 며 위치를 선택할 수있는 양식으로 설정됩니다.게시 방법 및 파이썬을 사용하여 파일 다운로드

코드에서 동일한 작업을 수행하려고합니다. 따라서 각 파일을 수동으로 선택하지 않아도됩니다. 지금까지 나는 응답을 반환하는 파이썬 2.5.2를 얻었지만 socket._fileobject에 있습니다. 그리고 나는 그것을 내 컴퓨터의 파일로 변환하는 방법을 모르겠습니다. 단지처럼

myfile = open('myfile.tar', 'wb') 
shutil.copyfileobj(response.fp, myfile) 
myfile.close() 

response.fp 당신이 읽을 수있는 파일과 같은 객체입니다 아래

는 파이썬 쉘의 출력과 내가

Python 2.5.2 on win32 

IDLE 1.2.2  
>>> import urllib 
>>> import urllib2 
>>> url = 'http://website/getdata.php' 
>>> values = {'data[]': 'filex.tar'} 
>>> data = urllib.urlencode(values) 
>>> req = urllib2.Request(url,data) 
>>> response = urllib2.urlopen(req) 
>>> response 
addinfourl at 22250280 whose fp = <socket._fileobject object at 0x01534570 
>>> response.fp 
socket._fileobject object at 0x01534570 

답변

2

추가]이 촬영 한 단계입니다 파일을 엽니 다. shutil.copyfileobj()은 하나의 파일과 유사한 객체를 읽고 그 내용을 다른 객체에 쓰는 간단한 함수입니다.

+1

원하는대로 response.fp를 복사 할 수 있지만 잘 테스트 된 코드의 단순화와 재사용을 위해 가장 좋은 것은 틀림 없습니다. –

+1

문제 해결 Richie에게 도움을 요청합니다. –

관련 문제