안녕하세요. 저는 대구 중소기업에서 마케팅을 담당하는 이대리입니다.
저희 회사업무 특성상 주기적으로 아마존 상품 데이터를 모니터링하고 비교하고 해야 하는데 기존 구글 시트/엑셀로 뽑고 관리하기엔 부담이 컸습니다. 요즘 알리, 테무 등 저가 외국 직구 사이트까지 국내 이커머스 시장에 진출하면서 더 저렴하고 퀄리티가 좋은 제품을 선별하고 저희 상품을 합리하게 마케팅하기 위해서는 더 빠르게 더 많은 데이터를 주기적으로 뽑고 분석해야 했으니까요.
그러던 중 비슷한 업종에 종사하는 지인으로부터 크롤링이라는 개념을 접하게 되었지만 문과 출신인 제가 파이썬과 같은 코딩 기술을 0부터 배우기엔 너무 거부감이 들었죠. 실제로 많은 시간을 투자해서라도 내가 원하는 만큼 크롤링을 할 수 있을까란 점에서 포기하게 만들었죠.
여러 커뮤니티를 전전하면서 솔루션을 찾던 중 노코딩 웹 스크래핑 툴이라는 개념을 접하게 되었고 그중에서 옥토파스가 가장 강력하고 초보자가 입문하기 좋은 도구라는 것을 알게 되었죠. 저는 초보자로서 웹 크롤러를 만들고 아마존 이베이 등 웹사이트에서 2만 개의 데이터를 성공적으로 추출했습니다. 오늘은 웹 크롤러 초보자를 상대로 웹 크롤러에 대한 사소하고 기본적인 지식을 공유해 보려고 합니다.
웹 크롤러란 무엇인가
웹 크롤러(web crawler)는 웹 사이트의 내용을 인덱싱하는 인터넷 봇입니다. 웹사이트에서 대상 정보 및 데이터를 자동으로 추출하고 데이터를 구조화된 형식(리스트/테이블/데이터베이스)으로 내보낼 수 있습니다. 웹 크롤러와 웹 크롤러와 웹 스크래퍼의 차이점을 설명하는 영상입니다.
웹 크롤러가 합법적인지 궁금하실 수도 있습니다. 음, 상황에 따라 다릅니다. 그러나 일반적으로 웹 사이트에서 공개된 데이터를 크롤링하는 것은 대부분 국가에서 완전히 합법적인 행위입니다.
웹 크롤러가 필요한 이유
구글 검색이 없는 세상을 상상해 보세요. 인터넷에서 양념 치킨 레시피를 얻는 데 얼마나 걸릴 것 같습니까? 매일 2.5조 바이트의 데이터가 온라인에서 생성되고 있습니다. 구글과 같은 검색 엔진이 없으면 사소한 정보를 얻는 일이 인천 앞바다에서 바늘을 찾는 것과 같을 것입니다.
검색 엔진은 웹 사이트를 인덱싱하고 웹 페이지를 찾는 고유한 웹 크롤러입니다. 검색 엔진 외에도 맞춤형 웹 크롤러를 구축하여 다음과 같은 업무에 유용한 데이터를 얻을 수 있습니다.
1. 콘텐츠 집계: 다양한 리소스의 같은 주제에 대한 정보를 하나의 집계 플랫폼으로 종합하는 작업을 합니다. 따라서 인기 있는 웹 사이트를 탐색하여 하나의 플랫폼에 계속 콘텐츠를 공급해야 합니다.
2. 감정 분석: 오피니언 마이닝이라고도 합니다. 이름에서 알 수 있듯이 하나의 제품이나 서비스에 대한 고객/대중의 태도를 분석하는 과정입니다. 정확한 평가를 위해서는 단조로운 데이터 세트가 필요합니다. 웹 크롤러는 분석을 위해 트윗, 리뷰 및 댓글을 추출할 수 있습니다.
3. 리드 생성: 모든 비즈니스에는 판매 리드가 필요합니다. 특정 산업을 대상으로 하는 마케팅 캠페인을 계획하고 있다고 가정해 보겠습니다. 2023년 ** 게임 어워드 참석자 또는 무역 박람회 참가자 또는 참석자 목록에서 이메일, 전화 번호 및 공개 프로필을 가져올 수 있습니다.
코딩 스크립트를 사용한 웹 크롤러 구축하기
컴퓨터 코딩 언어로 스크립트를 작성하는 것은 프로그래머들이 주로 사용하는 방법입니다. 결과물의 상태는 프로그래머의 실력과 크롤링 사례 이해도 등 요소에 크게 좌우됩니다. 다음은 봇 코드 스니펫의 예입니다.
Python을 사용하여 웹 크롤러를 만드는 3단계
1단계: 웹페이지의 URL로 HTTP 요청을 보냅니다. 웹 페이지의 내용을 반환하여 요청에 응답합니다.
2단계: 웹 페이지를 구문 분석합니다. 파서는 서로 얽히고 중첩된 웹 페이지의 HTML 트리 구조를 만듭니다. 크로링 봇이 이런 트리 구조를 따라 이동하고 정보를 얻습니다.
3단계: Python 라이브러리를 사용하여 구문 분석 트리를 검색합니다.
웹 크롤러용 컴퓨터 코딩 언어 중 파이썬은 PHP와 자바에 비해 구현이 용이합니다. 다만 파이썬도 다른 코딩 언어처럼 많은 비기술 전문가들이 배우기엔 가파른 학습 곡선을 가지고 있습니다. 스스로 코딩을 하는 것이 경제적인 해결책임에도 불구하고 제한된 시간 내에 코딩 학습과 실전 업무를 완성하려면 그다지 이상적인 대안이라고 하기 무리입니다.
무료 노코딩 웹 크롤러 툴
코딩을 배우고 싶지 않다면 시중에서 노코딩 웹 스크래핑 도구를 사용해 볼 수 있습니다. 여기서는 무료 웹 크롤러 생성 도구이며 코딩 지식에 대한 의존도가 다소 낮은 Octoparse를 권장합니다. Windows/Mac 장치에 다운로드하여 설치하고 아래 3단계로 쉽게 데이터를 추출할 수 있습니다.
코딩 없이 웹 크롤러를 구축하는 3단계
1단계: Octoparse 다운로드 및 웹 페이지 링크 복사하기
내 디바이스에 Octoparse를 다운로드하여 설치한 후 대상 웹 페이지 URL을 메인 패널에 붙여 넣습니다. 자동 인식 기능을 시작하여 크롤러 워크플로우를 구축하거나 “고급 모드”를 선택하여 더 많은 사용자 정의 옵션을 시도할 수 있습니다.
2단계: 웹 크롤러 데이터 필드 사용자 정의하기
자동 인식된 데이터를 미리 보기만 하고 “워크플로우 만들기” 버튼을 클릭하여 크롤러를 설정할 수 있습니다. 팁으로 대상 데이터 위치를 클릭하여 필요에 따라 데이터 필드를 사용자 정의할 수 있습니다. Octoparse는 크롤러가 페이지를 탐색할 수 있도록 “다음 페이지” 버튼을 클릭하여 페이지 설정을 지원합니다.
3단계: 웹 크롤러를 실행하여 데이터를 추출하고 Excel 파일로 내보내기
추출 필드 설정이 끝나면 “실행” 버튼을 클릭하여 크롤러를 실행합니다. 엑셀이나 CSV로 로컬 디바이스에 데이터를 다운로드할 수 있습니다.
고급 사용법에 대한 여러 가지 상황에 대한 사용자 가이드도 준비되어 있으므로 튜토리얼을 보고 사용법을 익힐 수도 있습니다. Octoparse는 또한 초기에 편안하게 사할 수 있도록 30개 이상의 웹 사이트를 포함하는 작업 템플릿을 제공합니다. 언어 옵션 선택으로 한국, 일본, 미국은 물론 여러 언어 사용 언어 국가의 100+개 인기 도메인 템플릿을 마음대로 사용할 수 있습니다. 이러한 템플릿을 사용하면 번거로운 작업 구성없이 데이터를 추출할 수 있기에 초보자가 사용하기 좋습니다.
마무리
코딩 스크립트를 직접 작성하는 것은 초기 개발 및 유지 관리 비용이 많이 듭니다. 네이버나 다음과 같이 서로 다른 웹 사이트일 경우 따로 스크립트를 작성해야 하며 네이버와 같은 보안이 강한 웹 사이트의 경우 레이아웃과 구조 변경이 생길 때마다 다시 스크립트를 수정하고 크롤러를 디버깅하고 그에 따라 조정해야 합니다. 이처럼 많은 다양한 웹 사이트를 크롤링해야 하는 경우 직접 코딩하는 방법은 지속 가능하지 않습니다. Octoparse와 같은 웹 크롤러 도구는 적은 인력과 적은 비용으로 엔터프라이즈 수준의 데이터 추출에 더 유용합니다. Octoparse 유료 플랜으로 업그레이드하면 추가 비용 없이 무료로 전세계 수많은 크롤링 봇 템플릿을 이용하여 많은 데이터를 마음껏 추출할 수 있습니다. 또한 Octoparse는 고객님의 크롤링 아이디어를 적극 수용하여 새로운 크롤링 봇 개발에 힘쓰는 창의성 주도의 회사입니다, 주기적으로 사용자의 의견을 수용하여 여러 유용한 크롤링 봇을 무료로 제작하여 모두가 쓸 수 있도록 배포합니다.