본 포스트와 관련된 코드는 현 시점에서 작동되지 않는다.(리뷰 전체 불러오기 불가)
대신 앱 리뷰 크롤링을 수행할 수 있는 더 빠르고 편한 라이브러리에 대한 소개를 해 두었으니 해당 포스트를 참고하시면 된다.
월 초, 교수님의 권유로 작은 프로젝트를 시작했다.
작은 프로젝트이지만 나름 기록을 하고 싶어 20일 정도 지난 지금 글을 써보려 한다.
프로젝트의 시작은 구글 플레이에 올라온 앱 정보를 크롤링하는 것인데 여기에 큰 문제가 있다.
내가 살면서 셀레니움이나 BS를 만져본 적이 없다는 것이다.
그저 파이썬의 문법을 배웠고 변수 조작과 함수 작성만 해 본 내게 웹 크롤링은 되게 크게 다가왔다.
하지만 어떤 상황에도 방법은 있다.
문과로써 각종 컴퓨터 언어를 배우며 얻은 진리.
모르는건 구글링이지!!
세상 모든 사람들이 모이는 구글인 만큼 모르는건 검색하면 다 나온다.
구글에 셀레니움 사용법을 검색하니 역시나 수 많은 블로그가 쏟아져 나왔고 그 중
파이썬 웹크롤링, 매크로를 위한 Selenium 사용법, 함수 + html의 구조 이해
초보코딩님의 블로그를 보게 되었다.
크롬드라이버 설치부터 간단한 셀레니움 사용법까지 쉽게 설명이 되어있어 쭉 읽고 따라하기만 해도 셀레니움이 작동하는 것을 볼 수 있었다.
크롬이 자동화된 테스트 소프트웨어에 의해 제어되고 있습니다.
초보코딩님의 친절한 설명 덕에 셀레니움의 실행은 성공했다.
이제 생각해둔 아래의 코드 실행 계획을 실행해야 한다.
- 구글 플레이 앱 메인화면에 접속한다.
- 검색창에 키워드를 입력한다.
- 검색버튼을 눌러준다.
- 검색이 완료된 페이지에서 앱 링크를 크롤링해 파일로 저장한다.
구글 플레이 앱 카테고리 메인화면
사실 1번은 셀레니움을 실행시킬 때 url설정으로 가능하니 패스하고 2번을 들여다 볼 차례이다.
- 검색창에 키워드를 입력한다.
검색창에 키워드를 입력하려면 일단 검색창을 찾아야 한다. 크롬 개발 도구에서 마우스를 이용해 검색창을 눌러보았다.
구글 플레이 검색 창
그래서 나온 코드인데…태그는 input인데 속성이 엄청나게 많아 보인다. id도 보이고 class도 보이고 name에 type에… 어느 속성값을 사용해야 할지 고민이 되길래 일단 무작정 class를 이용해 코드를 쓰기로 했다.
어? 됐다.
라고 생각했었다. 지금은 없어진 코드다. 그래서 사진도 없다.
검색창을 찾는 것도 성공, 키워드 입력도 성공, 검색 버튼 누르기도 성공.
생각보다 너무 수월하게 돼서 놀랐다. 초급 셀레니움은 그렇게 어려운게 아니구나! 하면서…
그렇게 자신감이 붙고 계획의 4번. 앱 링크 크롤링을 시작했는데…
초심자의 행운은 너무나 짧았다.
이 무슨, 검색한 키워드에 대한 앱 링크가 계속 반환하는 것이다.
분명히 앱 링크의 속성값도 잘 찾았고 앱 링크도 잘 불러왔다.
다만, 검색 버튼이 눌려 이동된 화면이 아닌 처음 오픈 된 구글 플레이 메인페이지에서 앱 링크를 불러온 것이었다.
이걸 어째야하나…하며 머리를 쥐어 뜯었다.
물론 지금은 해결 되었다. 가라로.
가라? 로 해결한 방법은 다음 포스트에 적겠다.