문제

웹 사이트에서 TAR 파일을 다운로드 할 수있는 약간의 도움이 필요합니다. 웹 사이트는 원하는 파일을 선택하고 제출을 클릭 한 다음 다운로드 Windows가 열려 위치를 선택할 수있는 양식으로 설정됩니다.

코드에서 똑같은 일을하려고 노력하고 있습니다 (따라서 각 파일을 선택할 필요가 없습니다). 지금까지 나는 응답을 반환하기 위해 Python 2.5.2를 얻었지만 socket._fileobject 그리고 이제 컴퓨터의 파일로이를 어떻게 변환하는지 잘 모르겠습니다.

아래는 파이썬 쉘의 출력과 내가 취한 단계입니다.

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
도움이 되었습니까?

해결책

이것을 추가하십시오 :

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

response.fp 열린 파일처럼 읽을 수있는 파일과 같은 객체입니다. shutil.copyfileobj() 한 파일과 같은 객체에서 읽고 내용을 다른 파일에 쓴 간단한 함수입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top