일단 request모듈이 없으신 분들은
pip install requests를 입력하여 requests모듈을 설치해주시기 바랍니다.
requests를 사용하여 로그인하기에 앞서 간단히 원리에 대해 설명하도록 하겠습니다.
1. 로그인 과정 분석
일단 전 교육과정에서 많이 사용했던 한빛출판네트워크에서 작업을 하도록 하겠습니다.
일단 www.hanbit.co.kr에 접속하여,
마우스 오른쪽을 클릭하여 검사화면을 클릭하면 다음과 같은 화면이 나오는데
우선 들어가시면 기본적으로 Elements화면이 뜨는데 이거 말고 Network를 눌러주시고,
왼쪽 위 레코드 표시에 붉은 불이 들어오면 어떤 웹 페이지, 이미지, 스타일시트, 자바스크립트 파일등이 오가는지 볼 수 있습니다.
하지만 굉장히 많은 것들이 보이기 때문에 우리는 필요한 것만 보기위해 Doc를 눌러주고, Perserve log에 체크를 해줍니다.
그 상태에서 로그인을 하시면,
다음과 같이 index.html -> login_pro.php -> login.html의 과정으로 작업이 진행된 것을 확인할 수 있습니다.
이 중 login_pro.php를 누르면
이것의 Request Method는 POST이며, Request URL과 m_id, m_passwd등의 정보를 확인 할 수 있습니다.
즉 login_proc.php는 로그인과 관련된 기능을 처리하는 곳이라는 뜻입니다.
로그인 과정을 분석했으니 이제 파이썬을 활용하여 로그인을 해보도록 하겠습니다.
2. 파이썬으로 로그인 후 정보 추출
일단 BeautifulSoup과 urllib.parse를 불러와주고, 가입했던 아이디와 비밀번호를 입력해줍니다.
그 후 session() 메서드를 사용해 세션을 시작하고 로그인 해줍니다.
(로그인을 위해 이전에 분석한 입력 양식의 name 속성과 값을 입력했습니다. 그리고 로그인 전용 URL에 POST 요청을 수행합니다.
로그인이 완료되면 마이페이지에 접근합니다.
그리고 마이페이지의 내용을 출력합니다.
(여기서 주의해야 할 것은 select_one으로 가져온 데이터에 <span></span>이 함께 들어있기 때문에 get_text()를 사용해 데이터 정리를 해서 깔끔하게 해줍니다.)
'AI > 데이터 수집' 카테고리의 다른 글
Selenium을 활용한 로그인 (0) | 2021.02.02 |
---|---|
requests 모듈의 메서드 (0) | 2021.01.31 |
상대경로 및 절대경로 (0) | 2021.01.26 |
CSS 선택자 (0) | 2021.01.25 |
파이썬을 활용하여 데이터 받아오기(urllib을 활용) (0) | 2021.01.24 |