Python

부동산 종합공부 사이트 웹 크롤링(스크래핑) - 2

왕초보코딩맨 2024. 2. 13. 10:29

오늘은 "일사편리" 크롤링(스크래핑) 2번째 시간입니다.

크롤링(스크래핑)을 하기 위해서는 2가지 방법이 이용됩니다.

selenium을 이용하는 방법과 requests를 이용하는 방법이 있습니다.

requests는 크롤링 과정에서 웹페이지를 스크롤하거나 클릭해서 다른 페이지로 넘어가서 정보를 얻는 것은 어렵습니다.

selenium은 requests로 크롤링 할 수 없는 동적 웹페이지에서 정보를 얻을 수 있는 방법입니다.

 

"일사편리"는 정보를 얻기 위해서 다른 페이지로 넘어가는 과정을 거쳐야 하기 때문에 selenium을 이용할 수 밖에 없습니다.

 

1. 모듈 import

 

크롤링에 필요한 모듈을 import를 해줍니다.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

 

2. url을 통해서 웹페이지 가져오기

크롤링을 하기위해서는 웹페이지의 주소가 필요합니다.

일사편리는 처음 웹페이지에서 바로 크롤링을 할 수 가 없습니다. 

먼저 로그인을 통해서 크롤링할 수 있는 페이지로 들어가야 합니다. 

로그인창을 들어가기 위한 일사편리 주소는 

"https://www.kras.go.kr/login/loginView.do?uri=/kras/cert/certView.do"

다음과 같습니다. 

이 페이지에서 로그인을 자동화로 할 수는 있는데 개인정보 부분에서 좀 꺼림칙한 부분이 있습니다.

그래서 저는 바로 로그인을 하기보다는 크롤링 과정을 잠시 멈추고 수동으로 로그인을 하고 다시 크롤링을 하는 것을 추천드립니다.

그러기 위해서는 "pyautogui" 모듈을 import 해줘야합니다.

import pyautogui
 

그런후에

pyautogui.alert('계속')

 

다음과 같이 코드를 작성합니다. 

그리고 실행하면 

 

다음과 같이 출력됩니다. 

그런 후에 

위 사진에 보면 계속이라고 적혀있고 확인버튼이 있는 창이 뜹니다. 당장 확인버튼을 누르지 말고

수동으로 공동인증서나 간편인증을 통해서 로그인을 해주고

 

 

 

다음 페이지로 넘어간 후에 확인 버튼을 클릭하게 되면 크롤링과정이 자동으로 진행이 됩니다.

 

오늘은 여기까지 진행하겠습니다. 감사합니다.