본문 바로가기

Coding/Python

파이썬으로 특정 사이트 로그인해서 정보 크롤링하기

반응형

import requests
from bs4 import BeautifulSoup

loing_url = 'http://www.hanbit.co.kr/member/login_proc.php'
# 로그인 값을 입력하는 html 페이지가 아닌 로그인을 처리하는 페이지 주소를 입력한다
# 크롬 개발자모드 > network 탭에서 로그인 처리하면 확인가능
craw_url = 'http://www.hanbit.co.kr/myhanbit/myhanbit.html'
# 로그인해서 마일리지 값이 있는 페이지 주소를 입력한다

session = requests.session()

params = dict()
params['m_id'] = 'yumk1979'
params['m_passwd'] = '본인의 비밀번호 값 입력'
# 해당 사이트의 계정정보를 parmas 변수에 할당한다.
# m_id / m_passwd 는 크롬 개발자모드 > network 탭에서 확인하여 입력한다

res = session.post(login_url, data = params)
res.raise_for_status()

print(res.headers)
print(session.cookies.get_dict())
# http 의 header 와 쿠키값으로 넘어가는 값을 출력해본다

res = session.get(craw_url)
soup = BeautifulSoup(res.content, 'html.parser')
data = soup.select('dl.mileage_section1 > dd > span')
# 개발자모드에서 css selector 복사해서 편집하여 추가한다
for item in data:
    print(item.get_text())
    

※ 결과값

2,000

# 본인이 해당 사이트에 가지고 있는 마일리지 값이 결과값으로 출력된다

 

반응형
  • 배우고싶어요 2020.08.14 16:48

    제 경우에 raise_for_status 에서 오류 나는데 왜그런걸까요??
    AttributeError: 'Response' object has no attribute 'rasie_for_status'