앞선 포스팅에서 RoboBrowser를 활용해서 레진코믹스 로그인을 수행하고 내서재 목록을 파싱하는 것을 정리한 적이 있습니다. Form을 활용한 것이였고 이번에는 Ajax로 로그인하는 것에 대해서 작성해두려고 합니다. 앞선 포스팅에 내용에서 많은 부분이 중복되기 때문에 혹시 아래 포스팅을 안보신 분들은 확인하고 아래 내용을 보시는 것이 더 이해가 쉬울 것 같습니다. 


2017/06/08 - python RoboBrowser login submit



  어떤 경우에 Form 을 활용해서 로그인하고 어떤 경우에 Ajax로 로그인해야 하는지는 웹 사이트 코드를 확인해봐야 합니다. Form 방식으로 해도 로그인 안되면 Javascript 코드를 확인해보면서 혹시 Ajax 방식으로 로그인되고 있는지 확인해보면 되겠죠. 



  Ajax로 로그인하는 사이트로 저는 케이툰을 잡아봤습니다. Form이 존재하는 URL은 https://www.myktoon.com/web/webtoon_login.kt 입니다. 가서 Form을 확인해보면 아래 그림과 같습니다. form 액션이 없고요. 그래서 코드를 잘 뒤져(?) 보면 실제 로그인을 하는 URL 은 https://www.myktoon.com/web/loginprc.kt 이라는 것을 확인할 수 있습니다. 또한 전달될 data는 #frm을 serialize() 한 것이라는 것도 확인할 수 있죠.






 


  위에 나온 정보를 바탕으로 RoboBrowser를 활용해서 로그인이 가능합니다. 먼저 소스코드 보시죠 !




 browser는 이전 포스팅과 동일하고요. login 방식만 좀 변경되었습니다. 이전에는 form을 찾고 값을 입력해서 form을 전송했다면 이번에는 로그인하는 Ajax url을 적고 data를 포함해서 browser를 open하는 방식으로 변경되었습니다. 



 로그인을 잘 수행했다면 로그인 한 뒤에 접근할 수 있는 페이지에 접속하고 이를 출력해보세요. 


 전체 코드가 궁금하시면 


 https://github.com/motobyus/moto/blob/master/util/coinTracking/tracker_ktoon.py



+ Recent posts