2017-03-14 1 views
0

* * 응답에서 즉 우리가 웹 양식에 파라미터 세트를 제출할 수 있습니다 내 IT 조직이 설정 한 웹 사이트가있다파이썬 - 웹 양식 제출에 의해 반환 된 파일 다운로드

, 클릭 정보를 명확히하기 위해 업데이트 "submit"버튼을 클릭하면 다운로드 폴더로 자동 전송 된 (적어도 현재 사용중인 Chrome 설정을 사용하는) 지정된 애플리케이션에 프로비저닝 된 .txt 파일을 생성합니다.

이 프로세스를 자동화하고 매주 업데이트 된 사용자 목록을 얻으려면 양식을 제출하기 위해 urllib (+ urllib2, 요청 등)를 사용하는 python 스크립트를 작성하려고했습니다. 다운로드 된 .txt 파일을 가져옵니다.

나는 아래의 코드를 실행하려고

...

import urllib, urllib2 

url = 'my url' 

values = {'param1' : 'response1', 
      'param2' : 'response2', 
      'param3' : 'response3' 
      } 


data = urllib.urlencode(values)   
req = urllib2.Request(url, data) 
response = urllib2.urlopen(req) 
data = response.read() 

... 그것은 오류가 발생하지 않지만, 나도 어떤 응답을하지 않습니다. 파일이 다운로드 될 가능성이있는 경로를 모두 확인했는데 찾을 수 없습니다.

그리고 내가 좋아하는 뭔가를 추가 할 경우 ...

with open('response.txt', 'w') as f: 
    f.write(data) 

은 ... 다음은 파일에 페이지의 HTML 소스를 기록; 본질적으로 양식을 통해 게시하는 쿼리에서 생성 된 파일을 실제로 가져 오는 것은 아닙니다.


여기의 도움을 주시면 감사하겠습니다.

답변

0

파일에 응답을 저장하지 않았습니다.

with open('response.txt', 'w') as f: 
    f.write(data) 

그러면 스크립트를 실행 한 디렉토리에 response.txt라는 파일이 저장됩니다. 응답의 내용을 확인하려면 다음을 사용할 수 있습니다.

print(data) 
+0

불행히도이 기능은 웹 페이지의 HTML 소스를 텍스트 파일로 반환합니다. 제출 한 파일을 실제로 가져와야합니다. – mbell141

+0

양식이있는 페이지의 HTML이 있습니까? – jonathan0wilson

+0

귀하의 질문을 올바르게 이해하고 있다면, 해당 페이지의 HTML이 요청 프로세스에 의해 생성 된 양식/파일 내에 있지 않습니다. 또한 차이가 나는 경우 입력 매개 변수 중 하나가 쿼리 매개 변수이므로 런타임까지 파일이 생성되지 않습니다. 따라서 .txt 파일이 실제로 생성되고 파일 다운로드가 시작되기 전에 일반적으로 5-10 초 지연됩니다. – mbell141

관련 문제