구글스프레드시트 크롤링 [네이버 / 다나와 / 쇼핑정보 코드 샘플]

You are currently viewing 구글스프레드시트 크롤링 [네이버 / 다나와 / 쇼핑정보 코드 샘플]
  • Post category:스프레드시트
  • Reading time:4 mins read

원하는 데이터를 실시간으로 혹은 정해진 시간에 저장하는데 가장 필요한 기술은 무엇일까요?
바로 크롤링(Crawling)이라는 기술입니다. 웹상에 존재하는 콘텐츠를 수집하는 작업으로 프로그래밍으로 ‘자동화’하는 것을 의미하죠.

이 크롤링이 ‘코딩’과도 땔래야 뗄수 없는 사이이다 보니 일반인들 입장에서 크롤링 = ‘어려운 것’이라는 인식이 크게 자리잡은 것도 있습니다만

크롤링이 어려운 가장 큰 이유는 ‘웹 표준’에 맞는 사이트들이 많지 않아서……

이기도 합니다.
이게 무슨 말이냐 하면

이런 콘텐츠는 ‘이렇게 표현하자’라는 걸 지키지 않아서

웹사이트마다 코딩 방식, 제작한 언어, API의 존재 유무등 너무나도 다양하게 제작되어서 전문가들이 가장 싫어하는 것이 ‘오래된 코드 수정‘이 될 정도.

그나마 이런 표준을 지켜온 사이트들 마저도 크롤링으로 인한 서버 리소스 낭비등을 줄이고자 이런저런 규칙등을 추가하기도 합니다.

즉. 크롤링이 어려운 것은 웹 HTML에 대해 지속적으로 배워나가야 하는 부분이 필수적이기 때문입니다.

쉽게 만드는 방법 첫 번째.

스프레드시트로 크롤러 만들기 되겠습니다.

지난 3년간 정말 다양한 크롤러를 만들어 왔는데요.

  • 네이버 지도 API에서 업체리스트 불러오기
  • 네이버 블로그 순위 크롤링
  • 네이버 실시간 검색어 크롤링 / 뉴스 실시간 [현재는 실시간이 없어졌죠…]
  • 네이버 쇼핑 데이터 크롤링 / 매출 데이터 연동
  • 네이버 플레이스 키워드별 순위 추적
  • 네이버 키워드별 뉴스 크롤링
  • 다나와 쇼핑정보 크롤링 [최저가 추적]
  • G마켓 쇼핑정보 크롤링
  • 11번가 쇼핑정보 크롤링
  • 실시간 금리 정보 크롤링
  • 인스타그램 Status 크롤링

부족한 저이지만 외주로 맡겨 주시는 고객님들과 함께 만들 수 있었습니다.

이외에도 틈틈히 QR코드 자동화나 업무에 필요한 자동화 (급여, 휴가, 계약서 등등)를 만드는 것도 모두 ‘스프레드시트’를 기반으로 만들었습니다.

구글 스프레드시트는 엑셀에서는 VBA나 외부 서버등을 연결해서 했어야 하는 복잡한 작업등이 간단한 함수 하나로 해결할 수 있습니다.

가장 대표적인 예로 ImportJSON 같이 좀 널리 알려진 함수라고 볼 수 있습니다.
네이버 API 연동을 비롯해서 데이터 양이 큰 경우가 많은 JSON 데이터를 아주 간단하게 스프레드시트에 저장할 수 있죠.

당장 생산성을 높여줄 구글스프레드시트 크롤링 쉬운버전.

일단 구글스프레드시트 크롤링이 결코 쉽지 않기 때문에 잘 만들어진 사이트 부터 시작하는게 좋습니다. 제대로된 웹사이트라면 지금부터 알려드릴 방법이 통할 확률이 매우 높습니다.

Importhtml

IMPORTHTML( URL , SEARCH TERM , INDEX , LENG )

바로 importhtml 이라는 함수 입니다. 여러분이 가장 궁금해할 네이버 크롤링을 예로 들어보겠습니다.

먼저 검색결과 창 주소를 복사해서 ” ” 로 감싸서 넣어줍니다.

=importhtml(“https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=ga4.kr:스프레드시트 크롤링”)

이런식으로 링크가 들어간 다음에는 Search 부분에 “list” 혹은 “table”이 들어가야 합니다.

리스트와 테이블은 지금 당장은 설명안하고 넘어가겠습니다. 우리는 list를 사용할거에요.

=importhtml(“https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=ga4.kr:스프레드시트 크롤링” , “list”)

그다음엔 색인입니다.

1번부터 하나씩 넣어보면서 원하는 위치의 데이터를 찾아봅시다.

=importhtml(“https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=ga4.kr:스프레드시트 크롤링” , “list” , 1)

제가 찾는 데이터는 10번 째에 있네요.

이런식으로 검색어에 해당하는 상위 5개 콘텐츠를 빠르게 확인 하실 수 있습니다.

참 쉽죠?

쉽게 만드는 법 두 번째

바로 HTML의 Xpath를 활용하는 방법입니다. 그 중에서도 특히 개발자 도구의 ‘CSS Selecter’ 도구를 활용할 줄 알면 좀 쉬워집니다.

크롬 개발자 도구 (F12) > CSS Selecter

필요한 영역을 가이드 잡고 거기서 Xpath , CSS 경로 등을 복사해서 크롤링 가능성을 높일 수 있죠.

쉽게 만드는 법 세 번째

약은 약사에게

크롤링은 전문가에게~!

물론 비용이 결코 저렴하지 않습니다…… 크롤링 작업은 대게 생각했던것 보다 의외로 초기 세팅에 시간을 많이 잡아먹기 때문인데요. 시간당 비용 + 보통 코드나 시트 권한을 완전히 넘겨 드리기 때문에 더욱 그렇습니다.

답글 남기기