2010-01-13 5 views
1

나는이 인구 통계 도구 페이지에 쿼리의 배치에 대한 결과를 얻기 위해 노력하고 있어요 : http://adlab.microsoft.com/Demographics-Prediction/DPUI.aspxpython을 사용하여 쿼리를 제출하고 aspx 페이지의 결과를 스크래핑합니까?

형태의 POST 액션이 같은 페이지 (_self)를 호출하고 아마 이벤트 데이터를 게시합니다. aspx 페이지를 일반적으로 일부 viewstate 및 유효성 검사 데이터가 필요합니다 stackoverflow 다른 포스트 여기에 읽습니다. POST 요청으로 다시 보내고 요청에서이 코드를 저장하면됩니까?

또는 더 깨끗한 방법이 있습니까? 이러한 aspx viewstate 매개 변수 중 하나는 약 1000 자이며 내 코드에 붙여 넣기의 믿기지가 못생긴 것이므로 더 나은 방법이 있어야한다고 생각합니다. 내가 읽을 수있는 모든 자료는 도움이 될 것입니다. 감사합니다!

+0

"아마 일부 이벤트 데이터를 게시 하시겠습니까?" 이것을 확인해야합니다. –

답변

1

아마도 mechanize 일 수 있습니다.

+0

제안 해 주셔서 감사합니다. 나는 기계화를 시도하고 일부 HTML 구문 분석 오류가있어. 내가 lxml 또는 Beautifulsoup를 통해 페이지를 실행하여이를 지우고 다시 브라우저()로 푸시 할 수 있는지 살펴 봅니다. – Cygorger

1

urllib2을 사용하십시오. POST 데이터는 간단한 파이썬 사전입니다. 편집 및 유지 관리가 매우 쉽습니다.

양식에 숨겨진 필드 (일부는 인코딩 됨)가있는 경우 양식과 다양한 숨겨진 필드 시드 값을 가져 오기 위해 GET을 수행해야합니다.

일단 양식을 가져 오면 지정된 입력 값을 숨겨진 값에 추가하고 응답을 다시 POST 할 수 있습니다.

또한 쿠키를 처리해야합니다. urllib2도 도움이 될 것입니다.

모든 브라우저는 브라우저에서 작동하며 브라우저에서 작동합니다. 브라우저는 WSGI의 CGI에서 ASPX를 모르기 때문에 ASPX이기 때문에 마술이 없습니다. 값과 쿠키를 제대로 설정하려면 POST 전에 GET을해야 할 때가 있습니다.

+0

안녕하세요, 현재 urllib2를 사용하고 있지만 POST 데이터에 어떤 변수를 포함시켜야하는지 완전히 명확하지 않습니다. . 이 말씨가 맞는지 궁금합니다. .aspx 페이지는 일반적으로 무엇이 필요합니까? – Cygorger

+0

@Cygorger : "보통"은 없습니다. 페이지로 이동하여 양식이 무엇인지 확인하고 필요한 것을 해결해야합니다. Javascript를 통해 작동하는 경우 Javascript를 읽어야합니다. –

+0

S.lott : 답장을 보내 주셔서 감사합니다. 나는 그것이 무엇을 의미하는지 명확히해야한다. aspx 페이지와 관련하여 Javascript가있는 html 페이지와 다른 점이 있습니까? 나는 이것에 대해 잘 모르겠지만 여기에 POST 쿼리는 서버에 숨겨진 값을 다시 보내고, 이전 호출에서 이것을 간단하게 저장하고 다시 사용할 수 있는지 여부에 의존하는 것으로 보입니다. (작동하지 않는 것 같습니다). 이 게시물은 관련성이있는 것처럼 보였습니다. http://stackoverflow.com/questions/1480356/how-to-submit-query-to-aspx-page-in-python – Cygorger

관련 문제