[파이썬] requests 웹페이지 로그인 처리하기

웹크롤링이나 웹스크래핑을 진행할 때, 로그인이 필요한 경우가 많습니다. 이 때 requests 모듈을 사용하여 웹페이지에 로그인을 처리할 수 있습니다. 이번 블로그 포스트에서는 파이썬의 requests 모듈을 사용하여 웹페이지 로그인을 처리하는 방법에 대해 알아보겠습니다.

requests 모듈 설치하기

먼저, requests 모듈이 설치되어 있는지 확인해야 합니다. 만약 설치되어 있지 않은 경우, 아래의 명령어를 통해 설치할 수 있습니다.

pip install requests

웹페이지 로그인 처리 코드 작성하기

로그인 처리를 하기 위해서는 로그인 폼의 URL, 사용자 아이디, 비밀번호 등이 필요합니다. 예를 들어, 아래와 같은 웹페이지 로그인 폼이 있다고 가정해보겠습니다.

<form action="/login" method="post">
    <input type="text" name="username" placeholder="Username">
    <input type="password" name="password" placeholder="Password">
    <input type="submit" value="Login">
</form>

이 때, 해당 폼을 처리하는 URL이 /login이라고 가정하겠습니다. 그러면 아래와 같은 코드를 사용하여 로그인을 처리할 수 있습니다.

import requests

# 로그인 정보
login_url = "http://example.com/login"  # 로그인 URL
username = "your_username"
password = "your_password"

# 로그인 데이터
payload = {
    'username': username,
    'password': password
}

# 세션 생성 및 로그인 요청
session = requests.session()
response = session.post(login_url, data=payload)

# 로그인 결과 확인
if response.status_code == 200:
    print("로그인 성공!")
else:
    print("로그인 실패!")

위의 코드에서는 requests 모듈의 session 객체를 사용하여 세션을 생성하고, 해당 세션으로 로그인 요청을 보냅니다. 로그인이 성공한 경우, 응답의 상태 코드가 200이 되는지 확인하여 로그인 여부를 판단합니다.

세션 유지하기

위의 코드에서는 로그인이 성공한 후, 해당 세션을 유지하지 않고 종료합니다. 만약 로그인 상태를 유지하고 다른 페이지나 기능에 접근해야 한다면, 세션을 유지하는 방법을 사용할 수 있습니다.

# 다른 페이지 접근
response = session.get("http://example.com/other-page")

위 코드에서는 이미 로그인한 세션을 사용하여 다른 페이지에 접근하는 것을 보여줍니다.

요약

이번 블로그 포스트에서는 requests 모듈을 사용하여 웹페이지 로그인을 처리하는 방법에 대해 알아보았습니다. requests 모듈을 사용하면 간편하게 웹페이지에 접근하고 데이터를 처리할 수 있습니다. 로그인을 처리하는 경우에도 requests 모듈을 활용하여 간단하게 처리할 수 있습니다.

Happy coding!