프로젝트로 인해 크롤링을 할 기회가 생겼는데 간단히 실습해보려 한다.
우린 어플 리뷰를 크롤링하기로 했는데, 난 앱스토어 리뷰가 가능한지 알아보았다.
찾아본 결과, app-store-scraper를 앱스토어 리뷰 크롤링이 가능했다.
pip install app_store_scraper
import pandas as pd
import numpy as np
import json
from app_store_scraper import AppStore
# 원하는 앱의 정보 입력
baemin = AppStore(country='kr', app_name='Baedal Minjok', app_id = '378084485')
# review 100개를 가져와줘
baemin.review(how_many = 100)
# 현재 딕셔너리 형태의 리뷰 데이터(JSON)
baemin.reviews
# 리뷰들을 DataFrame화 시키기
baemindf = pd.DataFrame(np.array(baemin.reviews),columns=['review'])
baemindf2 = baemindf.join(pd.DataFrame(baemindf.pop('review').tolist()))
baemindf2.head()
또한 app_id를 확인하는 방법은 Apple 앱 스토어 사이트에서 어플을 검색한 후 상단 URL에서 확인 가능하다
pip install app_store_scraper
app_store_scraper 패키지 설치baemin.review(how_many = 10000)
무작정 10000으로 진행하면,
Something went wrong: HTTPSConnectionPool(host='amp-api.apps.apple.com', ... ResponseError('too many 429 error responses')):
amp-api.apps.apple.com 호스트에 대한 HTTPS 연결 풀에서 문제가 발생한다
이로 인해 429 에러 응답이 너무 많이 발생하면서,
일정 시간 동안 너무 많은 요청을 보내 서버가 처리할 수 없는 상태임을 나타내는 이슈가 있었다