JC LAB

최근 컴퓨터를 맞추려는데, 요즘 컴퓨터 가격이 폭등해서 구매를 못하고 있습니다..

 

그래서 가격이 내려오는 데로 하나씩 구입해두려고 하는데, 각각 부품 사이트를 북마크하고 각각을 열어서 보기가 귀찮았습니다.

 

최근에 파이썬 크롤링 예제를 본 게 있어, 연습 겸 심심풀이로, 등록한 제품의 최저가를 다나와에서 크롤링하여 한번에 확인할 수 있는 프로그램을 만들어보기로 했습니다.

 

 

처음에는 request 패키지와 Beautifulsoup을 통해서 간단히 만드려고 하였으나, request를 통해서 html 태그를 읽어올 경우 다나와 사이트 방화벽에 의해 접근이 차단되는 것 같아 셀레니움을 통해 크롬으로 html 태그를 읽어왔습니다.

 

이것저것 해보다 보니 GUI 욕심이 나서 TKinter를 통해 처음으로 파이썬 GUI도 만들고 pyinstaller를 통해서 exe파일로 만들었습니다.

 

아래는 동작 이미지입니다.

 

 

제품과 링크를 csv 파일을 통해 저장해두면, 이를 읽어와 크롤링을 진행합니다.

csv 파일 예시

 

프로그램을 실행할 경우 csv 파일을 선택하는 창이 먼저 뜹니다.

csv 파일 선택 창

 

csv 파일을 선택하면 크롤링을 시작합니다. 아무래도 백그라운드에서 크롬을 실행하다 보니 로딩 속도가 매우 느립니다. request를 사용할 경우에는 매우 빠른데, 다나와에서 사용할 수 없음이 아쉽습니다.

 

모두 불러온 경우 아래와 같은 GUI로 나타납니다. 제품명, 최저가, 현금가 여부, 배송비, 다나와 상품링크, 최저가 사이트 바로 연결, 다나와 사이트에 표시되는 최저가 추이 그래프, 전체 새로고침 기능 등이 있습니다. 가끔 최저가 추이 그래프는 광고가 함께 캡처되기도 하더군요 ㅋㅋ..

최종 프로그램 동작 모습

 

 

파이썬 개발 속도가 빠르긴 한 것 같습니다. MFC를 사용하면 일주일은 족히 걸일 작업인 것 같은데 간단히 하루 만에 만들 수가 있었습니다. 대신 속도나 최적화는 힘든 것 같습니다.

 

코드는 깃허브를 통해서 확인하실 수 있습니다. 되는대로 집어넣은 코드이기 때문에 정리가 되어있지 않고, 누가 사용하실지는 모르겠지만 편한 대로 가져다 사용하셔도 될 것 같습니다. 출처만 남겨주시면 감사하겠습니다.

 

마찬가지로 누가 사용할지는 모르겠지만 궁금하신 분은 exe파일, 예시 csv파일, read_me.txt 파일을 아래에서 다운로드하여 사용해 보세요. Chromedriver.exe를 설치하는 과정이 필요합니다. 또한 동작 속도가 느린 것이지 고장 난 것이 아닙니다 ㅋㅋ..

 

 

Github 링크 : github.com/jeongchanYu/danawa_price

 

파일 다운로드 링크 : https://drive.google.com/file/d/1Cm7d6W0yHZnDLf4jQVNDOS-Z8o0LpNlT/view?usp=sharing