본 포스트와 관련된 코드는 현 시점에서 작동되지 않는다.(리뷰 전체 불러오기 불가)
대신 앱 리뷰 크롤링을 수행할 수 있는 더 빠르고 편한 라이브러리에 대한 소개를 해 두었으니 해당 포스트를 참고하시면 된다.
직전 포스팅에서 셀레니움 실행에는 성공했지만 실제 크롤링된 데이터에서 문제가 생겼었다.
분명히 검색결과창으로 넘어와 크롤링을 진행했는데 메인페이지의 앱 링크를 크롤링해오는 것.
아무리 머리를 싸매도 잘 이해가 안되길래 만능인 구글링을 이용해 봤다.
하지만 여러 포스팅을 아무리 읽어도 명확한 답이 나오진 않았다. 다만 실마리를 얻었을 뿐.
- 웹페이지에는 정적 웹페이지와 동적 웹페이지가 있다고 한다.
- 정적 웹페이지는 말 그대로 변하지 않는 것. jekyll을 이용한 깃허브 블로그 같이 블로그 운영자가 작성한 페이지 내용이 사용자의 행위에 의해 변하지 않는 것이라고 이해했다. 변하려면 다른 주소의 다른 웹 페이지 파일을 불러와야한다.
- 동적 웹페이지는 그 반대로 이해했다. 사용자의 행위에 의해 웹페이지가 변하는 것. 하지만 변하는 방식이 좀 다르다고 이해했다. 정적 웹페이지의 경우 아예 불러오는 웹페이지 내용 및 그 파일이 다르다면, 동적은 이미 불러온 웹페이지 구조 내에서 일부 내용만 바꿔 사용자에게 보여준다고 한다.
완전 잘못 이해했어도 아량을 베풀어 주시길 바란다. 체계적으로 웹페이지에 대해 공부한 적이 없어 지금은 이게 한계인 것 같다
만약 구글 플레이가 동적 웹페이지라면 아마 그렇겠지만 직전 포스팅의 문제를 억지로 이해하라면 이해 할 수 있을 것 같다.
메인 페이지에서 검색을 하면 검색 결과를 메인 페이지 베이스에 얹어서 보여주고 이 때문에 메인 페이지 베이스에 남아있는 앱 링크들을 긁어오는 거라던가…
물론 더 깊이 공부를 하면 이를 완벽히 해결 하고 이해 할 수 있을 것이다.
하지만 내게는 시간이 없다.
그래서 좀 생각을 해봤다.
이 문제를 해결하지 못하면 프로젝트는 시작도 못해보고 좌초된다.
그렇게 잠시의 휴식을 가지며 커피를 홀짝이다 보니 문득 든 생각.
메인 페이지 위에 검색 결과를 덧씌워 보여주는 게 문제라면 아예 덧씌워지지 않은 검색 결과창을 들어 갈 수는 없는 걸까?
뭔가 촉이 왔다.
창 밖을 보며 식어가던 머리가 다시 뜨거워지기 시작했고 바로 컴퓨터 앞에 앉아 구글 플레이에 여러 키워드를 검색하고 그 주소만 복사해 새로 접속을 시도했다.
모든 주소가 정상적으로 작동했고 동시에 주소 내부에 검색 키워드에 해당하는 부분이 들어있음을 알아차렸다.
그제서야 기억이 났다.
17년도에 만들었던 단어 찾기 어플에서 웹 사전 사이트들의 검색결과창 주소에 키워드 부분만 변경하며 결과를 보여주는 방식을 사용했다는 것을.
아무래도 군대에서 보낸 긴 시간이 과거에 사용한 이런 간단한 솔루션 마저도 잊게 만든 것 같다.
50개의 앱 링크를 긁어와 txt파일로 저장하는 함수
위의 주소를 만지는 방식을 통해 작성한 get_link(x) 함수.
인수로 키워드를 넣으면 주소에 해당 키워드를 넣어 나온 검색결과창에서 50개 앱의 링크를 긁어온다.
get_link(x) 함수 실행 결과)
키워드를 넣어 나온 앱 링크는 50개까지 키워드 + 어플링크.txt파일로 저장된다.
앱 링크 한줄한줄마다 줄바꿈을 넣어 나중에 readlines로 쉽게 처리 하는 건 덤.
만약 키워드가 많다면 인수에 리스트 방식으로 여러 키워드를 넣을 수 있게 하겠지만 작은 학부생 수준의 프로젝트이므로 여기서 만족하려 한다.
다음엔 저장된 앱 링크 파일을 읽어와 앱 링크를 하나씩 여는 기능을 만드려 한다.