웹 크롤러(Web Crawler)로 자동 로그인 및 주요 정보 추출하기
웹 크롤러(Web Crawler)로 자동 로그인 및 주요 정보 추출하기
나동빈
이번 시간에는 실제 웹 사이트를 대상으로 가장 많이 사용되는 기술 중 하나인 자동 로그인(Auto Login) 및 주요 정보 추출 방법에 대해 소개하고자 합니다. 이번 시간에도 제 개인 웹 사이트를 실습 대상으로 설정하겠습니다.
웹 사이트 URL: http://dowellcomputer.com/member/memberLoginForm.jsp
웹 사이트에 접속하면 위와 같이 로그인 화면이 등장합니다.
바로 '페이지 소스 보기'를 통해 어떠한 서버 URL로 파라미터(Parameter)를 전송하는지 확인합니다.
일단 직접 수동으로 로그인을 수행해보시면 메인(Main) 페이지로 로그인이 된 상태로 이동하는 것을 알 수 있습니다. 따라서 다음과 같이 두 개의 파라미터를 전달하여 로그인 하는 프로그램을 작성해 봅시다.
from bs4 import BeautifulSoup as bs
import requests
MEMBER_DATA = {
'memberID': 'a',
'memberPassword': 'a'
}
# 하나의 세션(Session) 객체를 생성해 일시적으로 유지합니다.
with requests.Session() as s:
# 로그인 페이지로의 POST 요청(Request) 객체를 생성합니다.
request = s.post('http://dowellcomputer.com/member/memberLoginAction.jsp', data=MEMBER_DATA)
print(request.text)
위 실행 결과를 보면 성공적으로 로그인 되어 메인 페이지로 리다이렉션(Redirection) 시키는 소스코드가 있는 것을 알 수 있습니다.
로그인 이후에는 위와 같이 '회원 정보 수정' 링크로 들어간 이후에 자신의 이메일 정보를 확인할 수 있는 것을 알 수 있습니다.
request = s.get('http://dowellcomputer.com/member/memberUpdateForm.jsp?ID=a')
soup = bs(request.text, 'html.parser')
result = soup.findAll('input',{"name": "memberEmail"})
print(result[0].get('value'))
결과적으로 <input> 태그 중에서 'memberEmail'이라는 이름 속성을 가지는 결과를 찾아서 출력해주었습니다.
실행 결과를 보면 성공적으로 이메일 값이 추출된 것을 알 수 있습니다.
'파이썬 크롤링(Python Crawling)' 카테고리의 다른 글
파이썬(Python) 경기일보 최신 기사 파싱하기 (0) | 2018.12.08 |
---|---|
파이썬(Python) 네이버 인기 검색어 파싱하기 (0) | 2018.12.08 |
셀레니움(Selenium)을 활용해 네이버 자동 로그인 및 메일 정보 가져오기 (2) | 2018.08.20 |
웹 크롤러(Web Crawler)로 연속적인 크롤링하기 (1) | 2018.08.20 |
웹 크롤러(Web Crawler)의 개요 및 공지사항 크롤링 해보기 (1) | 2018.08.20 |