2012-10-14 3 views
0

좋아요, 그래서,이 웹 사이트의 월페이퍼 수 X를 다운로드하는 작은 스크립트를 만들고 있습니다.이 사이트에서 로그인 프로세스를 어떻게 자동화 하시겠습니까?

이미 내가 파이썬 스크립트에서 사용자 이름과 비밀번호로 로그인하고 싶지만 내가 원하는 방식으로 다운로드 할 수 있습니다

www.wallbase.cc, 내가 좀 "일반"에서 할 방법을 찾을 것 웹 사이트에서 로그인 양식을 URL에서 볼 수 있지만이 웹 양식을 로그인하고 진심으로 나는 어떻게 webform 열어 로그인 할 생각이 전혀없는 javascript 함수를 호출해야합니다.

누군가가 도와 줄 수 있습니까?

고마워요.

+0

먼저 이것이 T & C의 변동이 아닌지 확인한 다음 ['selenium'] (http://pypi.python.org/pypi/selenium)으로 진행합니다. –

+0

그것은 T & C 위반이 아니며, 이미 확인했습니다. 또한 개인적인 용도로만 사용됩니다 (아빠는 많은 수의 월페이퍼를 원하지만 손으로 ​​다운로드). – Eduardo

답변

2

POST 방법을 사용하여 자격 증명을 보낼 수 있습니다.

LiveHTTPHeaders 파이어 폭스 모듈은 HTTP 요청을 추적하는 것은 매우 유용하다

http://wallbase.cc/user/login 

POST /user/login HTTP/1.1 
Host: wallbase.cc 
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-us,en;q=0.5 
Accept-Encoding: gzip, deflate 
Connection: keep-alive 
Referer: http://wallbase.cc/home 
Cookie: xxx 
Content-Type: application/x-www-form-urlencoded 
Content-Length: 74 
usrname=d&pass=d&nopass_email=Type+in+your+e-mail+and+press+enter&nopass=0 
HTTP/1.1 200 OK 
Content-Encoding: gzip 
Vary: Accept-Encoding 
Content-Type: text/html 
Transfer-Encoding: chunked 
Date: Sun, 14 Oct 2012 05:05:21 GMT 
Server: lighttpd 

중요한 부분은 당신이 POST를 통해 전송해야 할 데이터의

usrname=<YOUR USER NAME>&pass=<PASSWORD>&nopass_email=Type+in+your+e-mail+and+press+enter&nopass=0 

입니다. SO 사이트에서 파이썬으로 POST를 많이 찾을 수 있습니다.

이렇게하려면 mechanize 모듈을 사용하는 것이 좋습니다.

+0

나는이있어 : 기계화 수입 브라우저에서 을 BR = 브라우저() br.open ('http://www.wallbase.cc/user/login_form') BR [ 'usrname'] = ' myUserName ' submit_response = br.submit (이름 ='생성 ') {0}은 (는) , label = '새 페이지 만들기') 하지만 작동하지 않는 것 같습니다. 제발 도와 주실 수 있습니까? – Eduardo

+0

시도해보십시오 -> http://pastie.org/5058111 & mechanize doc을 읽으십시오. –

+0

처음에는 작동하지 않았지만 아이디어를주었습니다. 해결책은 다음과 같습니다. http://pastie.org/5059705 감사합니다. – Eduardo

관련 문제