brunch

You can make anything
by writing

C.S.Lewis

by 김영하 Sep 18. 2023

가락시장 경매결과 얻어오기 1

나도 해보는 공공데이터 분석 및 시각화 7

안녕하세요, 낭만학습자입니다.


데이터 분석 및 시각화 관련 자료를 만들다 보니 문득 가락시장 경매결과를 가져오고 싶었습니다.


이 페이지 (https://www.garak.co.kr/price/OZViewer.do?)에 접속하니 


아래 화면과 같이 가락시장 및 강서시장의 일자별 그리고 품목별로 경매 결과를 볼 수가 있습니다. 


그런데 가만히 살펴보니 일반적인 웹페이지 화면이 아니라 아래와 같이 특정 문서 형식으로 다운로드를 해서 결과를 사용할 수 있을 것 같습니다.



보통의 웹크롤링 및 웹 스크래핑의 경우 아래와 같이 해당 웹사이트에 접속을 해서 해당 웹페이지의 소스코드를 가지고 온 후 특정 부분을 찾아서 추출해서 데이터베이스에 저장합니다.



그런데 이번 경매 결과 데이터의 경우는 그리 간단하지 않을 것 같습니다.


1. https://www.garak.co.kr/price/OZViewer.do? 사이트에 접속

2. 일자 선택 (당일 데이터가 아니라 특정 일자의 데이터를 구할 경우)

3. 품목명 입력

4. 검색 버튼 클릭

5. 저장 버튼 클릭

6. 파일 형식 선택

7. 확인 선택


위 7단계를 거쳐야 하는군요. 즉, 단순히 웹페이지의 소스코드가 필요한 것이 아니라, 사용자가 직접 입력 및 동작을 해야하는 과정이 필요합니다.


가만히 생각해 보면 1단계를 일반적인 웹크롤링 단계이지만, 2~7단계의 경우는 사람이 직접해야 하는데 이를 자동화해주면 될 것 같습니다. 


그래서 우리에게는 2가지 방법이 있습니다.


첫번째로는 Selenium이라는 라이브러리를 사용하는 것입니다.


https://www.selenium.dev/


두번째 방법은 Playwright라는 라이브러리를 사용하는 것입니다.

https://playwright.dev/


위 2개 모두 웹 자동화 및 테스트 용도로 만들어졌습니다. 사람이 하나하나 직접하기 어려운 과정을 자동으로 하려는 과정을 프로그래밍을 통해 처리하려는 목적이지요!


그럼 이 라이브러리를 사용하면 일이 간단해 질 것 같습니다.


이제 데이터를 가져올 수 있는 가능성에 대해서 살펴보았으니, Selenium의 설치 및 사용방법을 먼저 알아보겠습니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari