끄적거림

[리뷰 크롤링] AppStore 어플 리뷰 가져오기 1(feat. cURL) 본문

Python/Crawling

[리뷰 크롤링] AppStore 어플 리뷰 가져오기 1(feat. cURL)

Signing 2020. 7. 29. 15:27
728x90
반응형

2020/07/23 - [Python] - [리뷰 크롤링] PlayStore 댓글 크롤링하기 in python 1(feat. selenium)

2020/07/25 - [Python] - [리뷰 크롤링] PlayStore 댓글 크롤링하기 in python 2(feat. selenium)

2020/07/27 - [Python] - [리뷰 크롤링] PlayStore 댓글 크롤링하기 in python 3(feat. selenium)

2020/07/28 - [Python] - [리뷰 크롤링] PlayStore 댓글 크롤링하기 in python 4(feat. selenium)

 


 

지난 시간에는 python의 selenium이라는 패키지로 온라인상 행동을 조작하여 안드로이드의 PlayStore에서 리뷰를 크롤링 하는 것을 해보았다.

 

이번 시간에는 사과사의 AppStore에서의 리뷰를 가져오는 것을 해보려한다.

 

사실상 내가 원하던 리뷰는 "라이프 플러스"라는 컨탠츠 앱이다. 사용해본 사람은 알겠지만, 데이트 코스나 맛집등을 알려주기도 하고 경제 상식등과 같은 컨텐츠를 다루는 어플이다.

 

그렇기 때문에 젊은 층의 사람들에게 인기가 있다고 짐작해볼 수 있다. 거기다가 좀 더 연장해서 생각하자면 젊은 사람들의 절반 정도가 아이폰을 사용한다는 통계를 본 적 있다.(휴대기기 통계, 2019)

 

그러므로 안드로이드의 리뷰만으로는 전체 데이터를 커버할 수 없다.

 

 

그러면 이제 본격적으로 아이폰 유저들의 댓글을 어떻게 가져올지 생각해보자.

 


 

내가 찾아본 바로는 크게 두 가지 방법이 있을 수 있다.

 

첫 번째는 python의 selenium을 활용하여 앱스토어에 접속하여 온라인 행동 조작을 통해서 스크랩핑을 하는 방법이 있을 수 있다.

이 방법을 본격적으로 진행해보진 않았지만 잠깐 개발자도구를 켜서 해보니 될 것 같기도하다.

다만, playstore와는 다르게 약간의 번거로움이 있다.

이 방법을 원하는 사람들은 전 포스팅들을 참고하면 될 듯하다.

 

 

하지만 나는 이번엔 다른 방법으로 리뷰를 가져오고자 한다.

 

두 번째는 바로 api를 이용하는 것이다.

아래의 링크에 접속하면 해당 사이트에서 ios의 리뷰를 받아올 수 있는 API를 제공한다.

링크 : https://www.apptweak.io/

 

Apple App store API and Google Play Store API - All data & rankings for all apps | AppTweak.io

The AppTweak Python client library allows you to interact with our REST API without efforts. Thanks to it, you can focus on your data without loosing time to implement all the logic to fetch the data. Consult the project Github page for more details about

www.apptweak.io

간단한 sign in을 하면 월 200번의 api request를 사용할 수 있다.

한 번에 최대 100개의 리뷰를 받는다 해도 한 달에 20000개의 리뷰 데이터를 받을 수 있다.

 

 

그렇다면 본격적으로 IOS의 앱 리뷰 데이터를 가져와보도록 하자!

 

 

 

 


 

 

1. Install and Setting cURL

Install

해당 사이트에서는 api를 cURL를 활용하여 기능을 제공한다.

cURL은 무엇일까?

< cURL은 다양한 통신 프로토콜을 이용하여 데이터를 전송하기 위한 라이브러리 명령 줄 도구를 제공하는 컴퓨터 소프트웨어 프로젝트이다. >

이라고 위키백과에 나와있다.

 

cURL은 다른 툴들과는 달리 cmd창에서 간단히 타이핑하기 때문에 별도의 UI가 없는 것이 특징이다.

 

아래의 주소에 접속하여 windows 64 bit 버전을 다운 받으면 된다.

https://curl.haxx.se/download.html

 

curl - Download

 

curl.haxx.se

그런데 화면을 보면 알겠지만, 뭔가 종류가 엄청 많다.

 

cURL 종류

맨 아래 이런 문구가 있다.

"This colour means the packaged version is the latest stable version available (7.71.1)!"

번역하자면, 노란색 음영처리된 부분이 최신버전이라는 것이다.

저 많은 선택지 중에서 그냥 binary the curl project를 선택하여 다운을 받으면 된다.

 

 

setting

다운로드 후 unzip을 하면 그림과 같은 화면이 나오는데 여기서 bin 폴더의 curl.exe 파일에 집중해보자.

download and unzip file

curl.exe 파일을 C:/경로 밑이나 C:/Program Files/ 경로 밑에 curl이라는 폴더를 새로 생성해서 파일을 옮겨주자.

우리는 curl.exe 파일을 이용하여 작업을 진행하고자하기 때문에 특정 path에 위치해 둔 것이다.

이쯤되면 어느정도 감이 온다.

환경변수 설정을 해줘야 언제든지 내가 원할 때마다 사용할 수 있다.

환경변수 세팅을 해보자.

 

환경변수 편집 창을 띄우자.

환경변수 설정

그림과 같이 curl.exe 파일이 존재하는 경로(아까 새로 만들었던 경로)를 "시스템 변수" 쪽에 새로 만들어준다.

 

그럼 이제 세팅까지 준비가 끝났다.

 

세팅이 잘 되었는지 확인해보려면 cmd창을 띄워서 아래의 코드를 실행시켜보자

curl --help

curl이라는 명령어를 못알아들으면 잘못 세팅한 것이고,

curl 명령어 리스트가 나오면 제대로 설치와 세팅이 된 것이다. 

 

(참고: https://stackoverflow.com/questions/9507353/how-do-i-install-and-use-curl-on-windows)

 

그럼 이제 api를 사용해보도록 하자.

 

 

2. apptweak

API를 사용하기 위해 처음 해당 사이트를 방문했다면, 가입과 로그인이 필요하다. 가입도 간단하니 그냥 해보자.

로그인을 했다만 아래와 같은 화면이 보일 것이다.

로그인 화면

여기에서 API Document라는 부분을 클릭해보자.

API Document 접속화면

이번엔 IOS Docs를 클릭!

 

API 설정 화면

이제 내가 원하는 리뷰를 받기 위해서는 Reviews 항목을 선택하면 된다.

보면 그 하위 항목이 여러개가 나온다. 그 중 목적에 맞는 항목을 선택하면 된다.

나는 그 중 내가 원하는 기간동안의 데이터만 있으면 되므로 Filtered Reviews를 선택했다.

 

선택하고나면 아주 친절한 가이드 메뉴얼이 나온다.

 

어떻게 코드를 작성해야하는지, 어떤 내용을 받을 수 있는지 등 아주 바람직하게 나와있으니 참고하면 될 듯하다.

 

 

 

 

 

3. API

그럼 이제 준비가 되었으니 한 번 API를 이용해 리뷰데이터를 가져와보자.

curl -X GET -H "X-Apptweak-Key: ${API_KEY}" https://api.apptweak.com/ios/applications/686449807/reviews/filter/list.json?country=fr&min_rating=1&max_rating=5&start_date=2018-08-01&end_date=2018-09-30&term=bug&from=1&size=50

위의 코드는 사이트에서 제공하는 샘플 curl 코드이다.

자세히 살펴보면 몇가지 필요한 정보들이 있다.

 

 

첫 번째는 API_KEY이다.

이것은 사이트의 메인화면에서 밑의 사진처럼 token으로 주어진다.

 

두 번째는 APPLICATION_ID이다.

위의 코드 중 일부 "/ios/applications/686449807/reviews" 에서 application 다음에 일련의 숫자로 표시가 되어있는 부분이 APPLICATION_ID이다.

APPLICATION_ID는 그럼 어떻게 알 수 있을까?

 

나는 온라인상의 앱스토에서 라이프플러스 어플을 검색한 결과에서 찾을 수 있었다.

https://apps.apple.com/kr/app/lifeplus/id1037778235

 

‎LIFEPLUS

‎라이프 스타일 콘텐츠 구독 서비스앱 LIFEPLUS 당신의 주말을 책임지던 “ZUMO”가 “LIFEPLUS”로 새롭게 태어나 일상을 플러스 합니다. 내 취향에 꼭 맞는 콘텐츠를 맘껏 구독해보세요! 각 분야의

apps.apple.com

이 링크가 라이프플러스의 앱스토어 링크인데 링크의 마지막 숫자 조합들이 APPLICATION_ID이다.

 

그럼 이제 필요한 정보들을 알았으니 조건을 부여하여 데이터를 가져와보도록 하자.

 

 


 

먼저, cmd창을 열고 각자 원하는 조건을 걸어 다음 코드를 완성시킨 뒤 실행시킨다.

curl -X GET -H "X-Apptweak-Key: ~(API KEY)~" https://api.apptweak.com/ios/applications/~(application_id)~/reviews.json?country=kr&language=kr

여기서 API KEYAPPLICATION ID를 넣을 때, ~( )~까지 없애주고 순수 각 값만 넣어주면 된다.

 

그 결과는?!!!!

 

짜잔!!

결과...

글자들이 죄다 깨져잇다.. 분명 인코딩 문제일듯하다. 그래도 데이터는 잘 받아왔으리라 생각하며 이 결과를 txt파일로 내려받아 보았다.

curl -X GET -H "X-Apptweak-Key: ~(API KEY)~" \
https://api.apptweak.com/ios/applications/~(APPLICATION ID)~/reviews.json?country=kr\
> [your path]/review.txt

아까 위의 코드에서 꺽쇠(>) 후 원하는 저장경로에 파일이름까지만 적어주면, 해당 결과를 잘 떨궈준다.

 

텍스트 파일 결과

확인해보니 한글로 잘 인코딩되어있었다!!

이로써 리뷰를 받아오는 과정은 성공적으로 끝났다.

 

이제 이 리뷰들을 받아오는 방법을 알았으니 원하는만큼 리뷰를 받아오고 이쁘게 잘 만드는 과정을 공부해보자!!(이건 다음 시간에..ㅎㅎ)

728x90
반응형
Comments