파이썬을 활용한 웹 파싱에 정말 유용하다고 생각하는 라이브러리가 beautifulsoup4 입니다. 하지만 beautifulsoup4는 로그인 후 보이는 페이지에 접근해서 파싱하기는 조금 불편합니다. 이를 편하게 해주는 것이 RoboBrowser 인데요. 꼭 로그인이 아니더라도 웹 서버와 인터렉션이 이뤄지고 파싱하기에 편리한 라이브러리입니다. 


 홈페이지는 다음과 같고 꽤 star 수도 높네요.  https://github.com/jmcarp/robobrowser


 RoboBrowser는 내부적으로 Beautifulsoup를 활용하고 있기 때문에 Beautifulsoup를 사용하시던 분이라면 많은 코드를 그대로 사용하실 수 있습니다. 이번 포스팅에서는 login submit 하는 부분에 대해서 작성해두려고 합니다. 



 포스팅 내용은 아래와 같습니다.

 

  웹툰 사이트 로그인 페이지 접속 - 로그인 수행 - 내서재 리스트 파싱


 


 - 웹툰 사이트는 레진코믹스로 잡았어요. 레진코믹스의 로그인 페이지는 https://www.lezhin.com/ko/login 입니다. 들어가서 로그인 form을 살펴보면 아래와 같습니다.


  form element의 id가 login-form 이고요. 이메일과 비밀번호 input elements가 각각 username, password 라는 것이 주요 포인트입니다. 




  코드를 보면 RoboBrowser 객체를 하나 생성하고 open을 통해 URL에 접근합니다.

  browser.get_form을 통해 로그인하려는 form을 받아오고요. username, password 값을 설정하여 submit_form 함수로 submit 합니다.


  다음은 로그인 한 다음에 접근 가능한 /ko/library에 접속해서 li elements 중 class가 comic인 것을 가져와서 프린트합니다. 

  



   소스코드를 복사하고 싶으신 분은 아래 버튼을 통해 가능합니다 !


Source Code Open






다음 포스팅에서는 form이긴 한데 javascript 코드로 login 되는 사이트를 어떻게 로그인하는지 작성해보려고 합니다.



+ Recent posts