다른 서비스
NEW
기획
디자인
개발
프로덕트
아웃소싱
프리랜싱
비즈니스
최근 검색어
전체 삭제
최근 검색어가 없습니다.

프로덕트

구글 시트로 앱스토어 정보 긁어오는 방법

회사 업무 중 구글 플레이에 있는 앱 정보를 정리할 일이 있었다. 앱의 제목, 카테고리, 개발사 명, 다운로드 수 정보를 일일이 복붙해 구글 시트에 입력했다. 복붙을 여러 번 반복하다 보니 슬슬 지겨워졌다. 지겨움을 극복하기 위해 구글 시트의 IMPORTXML 함수를 사용해 스토어 정보를 긁어왔다.

                                          

인터넷에 공개되어있는 정보를 한 두 개 복사하는 것은 복붙으로 충분하지만, 10개, 50개, 100개가 넘어가면 자동화가 필요하다. 자동화라고 해서 꼭 코딩을 할 줄 알아야 하는 것은 아니다. 구글 시트로도 충분히 가능하다. 구글 플레이와 앱스토어에 있는 정보를 가져오는 예시를 통해 함께 살펴보자.

 

1. IMPORTXML 함수를 사용하자

스토어 페이지 정보를 긁어오기 위해서는 IMPORTXML 함수를 사용하면 된다.

 

=IMPORTXML(urlxpath_query)

 

이 간단한 공식에 url 값과 xpath_query 값만 넣어주면 된다. 그럼 여기에 넣을 값은 어떻게 찾아야 할까? 일단 url 부분부터 살펴보자.

 

url은 스토어 페이지의 주소다. 구글 플레이 홈페이지로 가서 ‘카카오톡’을 검색해 눌러보자. 그럼 카카오톡의 구글 플레이 url은 "https://play.google.com/store/apps/details?id=com.kakao.talk&hl=ko"인 것을 알 수 있다. 이걸 그대로 복사하면 된다. 문자 값이니 양끝에 큰 따옴표를 붙이는 것을 잊지 말자.

 

다음은 xpath_query다. xpath_query는 해당 페이지에서 원하는 정보가 어디에 위치하는지를 나타내 주는 코드다. 만약 카카오톡의 카테고리 정보가 필요하다면, 스토어 페이지에서 카테고리 텍스트의 xpath_query 값이 필요하다.

 

xpath_query 값을 찾는 법은 간단하다. 구글 크롬에서 해당 부분을 오른쪽 클릭 후 검사(Inspect) 모드 > 요소(Elements)에서 관련 태그와 클래스를 찾으면 된다.

 

예를 들어 카카오톡의 제목에 해당하는 xpath_query 값은 "//h1"이다. 제목 말고 "//h1"을 쓰는 곳이 없으므로 클래스 값은 굳이 넣지 않아도 된다.

카테고리 정보의 xpath_query 값은 "//a[@itemprop='genre']"이다. "//a" 태그는 다른 정보에서도 쓰이므로 "[@itemprop='genre']"까지 넣어줘야 오류가 나지 않는다.

 

 

2. 실제 예시

설명만 잔뜩 늘어놨으니 헷갈릴 수 있다. 이제 직접 구글 시트로 가 IMPORTXML 함수에 url과 xpath_query 값을 넣고 돌려보자.

 

=IMPORTXML("https://play.google.com/store/apps/details?id=com.kakao.talk&hl=ko""//h1")

→ 결과­­­ : 카카오톡 KakaoTalk

 

=IMPORTXML("https://play.google.com/store/apps/details?id=com.kakao.talk&hl=ko""//a[@itemprop='genre']")

→ 결과 : 커뮤니케이션

 

축하한다. 이제 당신은 간단한 함수 하나로 인터넷 정보를 긁어올 수 있는 능력을 얻었다! url값을 위키피디아 같은 다른 웹사이트로 변경하고, 거기서 원하는 정보의 xpath_query값을 몇 번 찾다 보면 감이 올 것이다.

 

예시가 구글 플레이뿐이라 실망한 애플 팬이 있을 수 있다. 앱스토어 정보도 같은 방법으로 접근하면 된다. 페이지 구성이 살짝 다르므로 xpath_query값만 잘 찾으면 된다. 제목은 구글 플레이와 똑같이 "//h1"이지만, 카테고리 값은 다르게 입력해주어야 한다.

 

=IMPORTXML("https://apps.apple.com/kr/app/%EC%B9%B4%EC%B9%B4%EC%98%A4%ED%86%A1-kakaotalk/id362057947","//h1")

→ 결과 : 카카오톡 KakaoTalk

 

=IMPORTXML("https://apps.apple.com/kr/app/%EC%B9%B4%EC%B9%B4%EC%98%A4%ED%86%A1-kakaotalk/id362057947","//dd/a/text()")

→ 결과 : 소셜 네트워킹

 

 

3. 정보가 뭉쳐있을 때는 어떡할까?

위에서 알아본 제목이나 카테고리 말고 다운로드 수 정보를 가져오고 싶을 수 있다. 다운로드 수의 xpath_query를 찾아 돌려보자. 예상했던 것과 살짝 다른 정보가 나온다.

 

=IMPORTXML("https://play.google.com/store/apps/details?id=com.kakao.talk&hl=ko""//span[@class='htlgb']")

→ 결과 : 

우리가 원하는 다운로드 수 정보(100,000,000+)가 포함되어 있지만 필요 없는 다른 정보도 줄줄이 딸려 나온다. 이 때는 앞에 INDEX 함수를 붙이면 된다. 여러 줄의 정보에서 n번째 줄만 출력되도록 하는 것이다.

 

=INDEX(IMPORTXML("https://play.google.com/store/apps/details?id=com.kakao.talk&hl=ko", "//span[@class='htlgb']"), 5)

→ 결과 : 100,000,000+

 

 

다룬 내용을 간단히 정리해보자.

 

1. IMPORTXML 함수를 사용하면 웹 페이지 내용을 손쉽게 긁어올 수 있다.

2. IMPORTXML 함수 안에 페이지 url과 xpath_query 값을 넣으면 페이지 내 특정 정보를 가져올 수 있다.

3. 가져온 정보에 필요 없는 내용이 딸려올 경우, INDEX 함수로 원하는 부분만 출력되도록 할 수 있다.­­­

댓글 0

맨오브피스

효율 추구에만 매달리지 않으려고 노력하는 프로덕트 매니저입니다.

일론 머스크가 트위터를 인수한 이유는?

비즈니스

롱블랙 뉴스레터 솔직 리뷰

프로덕트

프로덕트 보물창고, Product Hunt의 수익 모델 살펴보기

비즈니스

애드블록의 광고 차단 원리는 무엇일까?

프로덕트

개발자와 대화할 때 유용한 도구 4가지

프로덕트

엑셀 함수는 곧 사라질 운명이 아닐까?

기획

읽히는 슬랙 (업무) 메시지 쓰는 법

기획

비개발자가 코딩을 배우면 좋은 이유

기획

내 생활을 지키는 알림 설정 전략

기획

우선순위가 낮은 작업은 언제 처리해야 할까?

기획

순조로운 퇴사를 위해 해야 할 일 5가지

기획

OTT 시대의 반항아, 일본 ‘TVer’ 살펴보기

프로덕트

유튜브에서 '싫어요' 숫자가 사라졌다

프로덕트

슈퍼휴먼, 이메일에 월 30달러나 쓰는 이유는?

프로덕트

구글의 수수료 정책은 정말로 부당할까?

프로덕트

인터넷 뱅킹, Z세대에 열광하는 이유는?

프로덕트

나를 만족시킨 QR 체크인 앱은 무엇일까?

프로덕트

스포티파이, 왜 한국에서는 그저 그럴까?

프로덕트

구글의 발표는 왜 지루할까? (feat. 애플 이벤트)

프로덕트

OTT 이야기에 로쿠(Roku)가 빠질 수 없지

프로덕트

프로덕트 매니저라는 직무는 왜 생긴 것일까?

기획

디자인 커뮤니케이션 툴, 윔지컬(Whimsical) 둘러보기

프로덕트

영상 컨펌 협업툴 '이미지블' 살펴보기

프로덕트

테크 기업 CEO들의 하루 살펴보기

기획

구글 캘린더 100% 활용하기

프로덕트

총성 없는 전쟁, 아마존 VS 가짜 리뷰

프로덕트

애플 TV+는 잘 되고 있을까?

프로덕트

구글 스태디아는 왜 흥하지 못했을까?

프로덕트

경기지역화폐 앱 살펴보기

프로덕트

"카운트다운 시작!!!"...출시 앞둔 디즈니플러스 미리보기

프로덕트

점유율 2%의 활약, MS 빙(Bing)

프로덕트

PM 업무에 꼭 필요한 소프트 스킬 6가지

기획

업무 생산성을 높이는 IT 환경 만들기

기획

다른 나라 사람들은 어떤 앱에 돈을 쓸까?

프로덕트

아동 성착취물을 막겠다는 애플은 왜 욕먹는 걸까?

프로덕트

휴가 떠나기 전, 인수인계 확실히 하는 법

기획

구글이 직접 반도체를 만드는 게 나랑 무슨 상관일까?

비즈니스

구독 서비스를 현명하게 사용하는 5가지 방법

기획

디지털 피규어 콜렉팅 앱, 비브(VeVe) 살펴보기

프로덕트

구글 미트가 프로그레시브 웹 앱(PWA)으로 출시된 이유

프로덕트

깃허브 코파일럿(Copilot)은 무엇이며, 왜 욕먹는 걸까?

프로덕트

원격근무의 치명적 단점 5가지

기획

구글이 안드로이드 앱 배포를 APK 대신 AAB로 바꾸는 이유

프로덕트

IT 직무 탐구: 프로덕트 매니저 vs 프로덕트 오너 (+그 외)

기획

구글 앱시트(AppSheet)로 노코드 앱 만들기

프로덕트

이제는 운영체제도 구독이다! 윈도우 365 공개

프로덕트

즐겁고 효율적인 재택근무를 위한 7가지 기술

기획

절대 빼놓을 수 없는 크롬 확장 프로그램 7가지

프로덕트

IT 스타트업의 ­인수합병이 실무자에게 미치는 영향

기획

트위터 블루와 슈퍼 팔로우는 과연 돈 값을 할까?

프로덕트

경기도가 만든 배달 앱, 배달특급 리뷰

프로덕트

점점 맥을 닮아가네? 윈도우 11만의 특징 살펴보기

프로덕트

메시지 예약이 된다고? 슬랙의 최신 기능 5개 따라잡기

프로덕트

날씨 앱 번개가 더 리얼해졌다! iOS 15 미리 보기

프로덕트

스포티파이가 만든 클럽하우스, '그린룸' 살펴보기

프로덕트

안드로이드 12가 온다! 주요 기능 살펴보기

프로덕트

넷플릭스의 새로운 기능, 랜덤 재생 살펴보기

프로덕트

맥에서도 쓸 수 있는 마이크로소프트 엣지만의 장점

프로덕트

쉽게 읽히는 티켓 쓰는 법

기획

당근마켓은 어떻게 돈을 벌까?

프로덕트

클럽하우스 인기가 뚝 떨어진 이유

프로덕트

데이터별 딱 맞는 그래프 찾기

기획

프로젝트 매니지먼트에 도움이 되는 툴들

기획

비개발자를 위한 파이썬 독학법 (하)

개발

비개발자를 위한 파이썬 독학법 (상)

개발

아웃소싱 개발이 필요한 상황은?

아웃소싱

#해시태그가 정확히 무엇인가요? 해시태그 A to Z

기획

아이디어를 체계적으로 기록하는 방법

기획

그럼에도 불구하고, 엑셀이 필요한 이유

프로덕트

소프트웨어 개발은 어떻게 이루어질까?

개발

구글의 OTP는 어떻게 비행기 모드에서도 작동할까?

기획

같은 분야를 다룬 글들을 권해드려요.

요즘 인기있는 이야기들을 권해드려요.

일주일에 한 번!
전문가들의 IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.

일주일에 한 번! 전문가들의 요즘IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.