크롤링을 통한 웹 자동화

크롤링(crawling) 혹은 스크레이핑(scraping)은 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위입니다.

기존에는 beatifulsoup라는 모듈을 사용해도 충분했지만 요즘 웹은 앱에 버금갈 정도의 동적이고 사용자중심의 경험을 제공하면서 그냥 html을 다 가져온다고 데이터를 추출할수가 없게 되었습니다.

예를 들어 html을 가져와도 js에 따라 클릭과 적절한 동작을 취해야만 ‘span’되는 정보들이 많아졌고 이를 가져올려면 웹을 컨트롤해야 되는 경우가 많아졌습니다.

naver_search_image

간단한 예로 네이버에서 실시간 검색어에 대한 정보를 보려면 다음 처럼 검색어를 미리 지정해서 해당 검색어에 대한 정보를 얻거나 대표적인 분류(쇼핑,디지털/가전) 이런식으로 분류를 완료해야 정보를 보여줍니다.

저는 물론 html에서 바로 데이터를 가져올 수 있으면 그거만큼 베스트가 없겠지만 대부분은 selenium을 활용 웹을 자동화 또는 조작하면서 거기서 데이터를 얻는 방식을 추천드립니다.

마지막으로 모든 crawling과 웹 자동화는 본인이 정말 필요하거나 하고 싶은걸로 하시는 것을 먼저 해보는 것을 추천드립니다.

저는 잡플래닛에서 데이터 직무에 대한 모든 자료를 긁어오는 것을 프로젝트로 설정하였습니다.

먼저 잡플래닛에서 가져올 수 있는 정보는 채용공고 해당 기업에 대한 정보 인데 여기서 해당 기업에 대한 정보는 해당 기업에 대한 리뷰와 각 평가항목별 점수 연봉들입니다. 그리고 주요한 점은 리뷰에 대한 정보를 위해서는 어느정도 아이디에 대한 권한이 필요합니다. 저는 제휴대학 이메일을 통해 해당 데이터에 접근할 수 있는 권한을 가졌습니다.

다음시간에는 특정 검색어에 대한 직업채용공고를 통한 해당 기업들의 정보를 알아보고 이를 통해 해당기업의 데이터를 시각화 하는 법을 대해 알아봅시다.