본문 바로가기
IT

파이썬으로 웹 페이지 크롤링 - 홈페이지 로그인 하기

by developer's warehouse 2024. 9. 23.

특정 사이트에 홈페이지에 로그인을 하여 로그인 한 상태에서 웹 사이트를 크롤링하는 경우가 많습니다.

이를 위해서 오늘은 로그인을 하기 위한 기술들과 코드를 알아보도록 하겠습니다.

로그인 페이지 찾기

먼저, 로그인을 하는 페이지를 찾아야 합니다. 로그인 하는 페이지를 찾고 URL을 알아낸 후 해당 URL에서 데이터를 보내는 페이로드를 찾아 동일한 내용으로 request를 보내면 로그인이 됩니다.

개발자 모드에서 페이로드 찾기

이때, 네트워크 탭에서 캐시 사용 안 함을 체크해 놓고 하는 것이 좋습니다.

개발자 모드에서 페이로드 찾기
개발자 모드에서 페이로드 찾기2

아래와 같은 페이로드를 찾아서 실제 코드에 동일하게 붙여 넣으면 됩니다.

saveId는 n으로 바꿔줬습니다.

개발자 모드에서 페이로드 찾기3

코드 작성하기

위의 코드 분석으로 페이로드를 찾으면 전송해야하는 데이터를 알 수 있습니다.

이제 이를 이용해서 실제 로그인하는 로직을 파이썬으로 작성하면 다음과 같습니다.

로그인은 post 방식으로 사용하기 때문에 request를 post로 해서 전송하면 로그인이 됩니다.

# 여기서는 로그인 로직을 구현합니다.
        payload = {
            'mode': 'login',
            'returnUrl': 'https://www.ggsan.com/',
            'loginId': self.login_id,
            'loginPwd': self.login_pw,
            'saveId': 'n'
        }
        response = self.session.post(self.login_url, data=payload)
        # HTTP 상태 코드를 확인합니다.

코드 작성후 payload 전달 내용 확인

오늘은 특정 사이트에 접속하고 로그인 할때, 페이로드를 어떻게 보고, 로그인을 파이썬에서 어떻게 하는지 알아보았습니다.

이런 방법으로 로그인 되는 사이트도 있고, 만약 안되면 크롬 드라이버와 셀레니엄(selenium)이라는 것을 통해서도 할 수 있습니다.

이 방법은 나중에 다시 알아보겠습니다.

facebook twitter kakaoTalk kakaostory naver band shareLink