티스토리 뷰

밥대생

밥대생팀의 페이지 스크린샷 기법 도입기

알 수 없는 사용자 2017. 4. 9. 12:35

이 글은 [2016년 8월 11일] 개인 페이스북에 올렸던 글 재작성한 글입니다.


기존 밥대생은 캠퍼스 학식/배달/주변맛집을 소개하는 앱이었습니다.

그러다 2015년 11월쯤 밥대생을 학식 앱으로 집중하기로 결정했습니다. 

(A/B 테스팅을 통해 결정해 냈고, 해당 내용에 대해서는 추후 포스팅하도록 하겠습니다.)


학식앱으로 집중하자고 결정하고 나니, 

2016년 2월초까지는 대부분 캠퍼스의 지원을 끝내야만 했습니다.


사실 무리였습니다.

그 당시만 해도 지원하고 있는 캠퍼스 수가 20~30개 정도밖에 되지 않았었습니다.

하지만, 지원해야 하는 캠퍼스는 약 300개.

그 땐, 그래도 열심히 파싱하면 모두 지원이 가능할 줄 알았습니다.

밥대생 팀의 개발역량을 실제보다 높게 평가했던 것이죠.


1월 말이 되었을 때, 어림도 없었다는 것을 깨달을 수 있었습니다.

밥대생만 하는 것도 아니고, 

다른 프로젝트도 같이 병행하고 있는 자사에겐 무리였던 양이었습니다. 

일단, 광고를 집행할 캠퍼스를 몇 개 정하고

그 캠퍼스들만 파싱을 열심히 하기로 결정했습니다.

그렇게 30여개 캠퍼스를 추가로 지원해서 홍보할 수 있었습니다.


이렇게 진행하던 중 서버 팀에서 참신한 아이디어를 냈습니다.

브라우저가 보는 것처럼 페이지를 스크린샷 찍으면 굳이 파싱할 필요가 없지 않나?

그렇습니다. 밥대생의 본질은 학식 정보를 유저에게 전달하는 것이지, 

그 형태가 텍스트일 필요는 굳이 없었던 것입니다. 

이미지라도 유저에게 학식 정보를 전달할 수 있다면,

전달하지 못하는 것보다는 훨씬 낫습니다. 

(물론, 이미지보다는 텍스트가 모바일에서 훨씬 더 가독성이 좋지만요!)


그런데 이런 의문이 있었습니다.

그러면, 페이지를 스크린샷 찍을 수 있나?

서버팀은 가능하다고 답변했습니다. 

아래 포스팅에서 해당 방식에 대해 확인하실 수 있습니다.


Python3로 웹페이지 스크린샷 찍기


이런 개발의 결과 웹페이지를 마치 인간이 보는 것처럼 

스크린샷을 찍어서 제공할 수 있게 되었습니다.


물론, 사용자의 경험은 학식 정보가 text로 제공될 때보다 좋지 않을 수 있겠지만,

빠른 시간 내에 많은 캠퍼스를 지원할 수 있었습니다.

이 방식을 이용해서 이후 1달만에 추가로 100개 캠퍼스 정도를

지원할 수 있게 됐었던 것 같습니다.

340여개의 국내 캠퍼스(식단 정보가 웹 상에 제공되는 캠퍼스 수)를

모두 지원할 수 있게 되는 데 얼마 걸리지 않았습니다.

(하지만, 스크린샷 방식만을 이용한 것은 아니었습니다.

기존처럼 text로 식단을 수집한 곳들도 있었습니다)


가능한 거의 모든 캠퍼스를 지원하기 시작하니,

다른 서비스들에 학식 API를 제공할 수 있게 되었습니다. 

우리가 직접 연락해서 API를 열어준 서비스도 있었고, 

우리에게 연락이 와서 API를 열어준 서비스도 있었습니다. 

그리고 그 중 한 개 서비스는 벌써 앱에서 우리의 학식 API를 활용해 학식 정보가 보여지고 있습니다. 

신기하고 감사한 일들이었습니다. 

도와주신 분들도 많았지만, 

그래도 많은 공은 페이지 스크린샷에 기능에 있지 않았나 싶습니다.

(2017년 4월 9일 현재 자사의 API를 사용하는 업체는 더 늘어났습니다. 

우리은행에도 자사의 API를 납품하고 있습니다.)




위와 같이 빠른 성장을 위해 스크린샷 기능을 도입했지만,

도입함으로써 생각보다 많은 것을 얻을 수 있었습니다.

  • 파싱 대상 WEB 페이지가 WEB표준을 안지킨 경우 그냥 스크린샷을 찍어버리면 안정적인 크롤링 서버를 구축할 수 있습니다.
  • 파싱 대상 WEB 페이지의 파싱 룰이 자주 바뀌는 경우 스크린샷을 찍어버리면 안정적인 크롤링 서버 구축이 가능합니다.
  • 텍스트로 파싱하는 경우 오류가 발생했을 때, 이 기능을 사용하면 혹시라도 에러가 발생하더라도 안정적으로 유저에게 식단 정보를 제공할 수 있습니다.

방식을 도입하는 것은 학식 앱에의 안정성을 상당히 많이 더해줍니다. 

그리고 이 방식은 경쟁사들보다 자사에서 가장 먼저 도입한 방식입니다.

지금은 운영을 종료한, "ㅋ" 학식 앱의 경우, 해당 기능이 도입된 적이 없었습니다.

그리고, "ㅇ" 앱의 경우 처음에는 스크린샷 기능을 제공하지 않다가

이제는 스크린샷 기능을 이용해 식단정보를 제공하고 있습니다. 




하지만, 이 방식에 문제가 아주 없다고는 할 수 없습니다. 

New user는 많은데, Total user가 적은 캠퍼스가 몇 개 있었습니다.

(정확히는 재방문율이 낮은 캠퍼스가 몇 개 존재 했습니다.)

서울대학교 관악캠퍼스라던가, 한국외대 서울캠퍼스라던가, 경북대학교 대구 캠퍼스라던가, 경희대학교 서울캠퍼스 라던가.


서울대학교 관악캠퍼스는 그럴 수 있다고 생각했습니다. 

워낙 이 캠퍼스에 학식 앱이 많다보니, 

우리 앱 한번 깔아보고 테스트해보고 지울 수 있을 것이라 생각했습니다. 

(물론 이 사용자들도 언젠간 끌어들일 수 있도록 노력해야겠지만, 

지금은 자사의 노력을 이 쪽에 집중할 때는 아니라고 생각했습니다.)


그런데, 다른 캠퍼스는 도저히 이해가 되질 않았다. 

유일한 공통점은 우리가 식단 정보를 스크린샷을 통해 제공하고 있다는 것이었습니다.


가설을 세웠습니다. 

text로 학식 정보가 제공되는 경우, 스크린샷으로 학식정보가 제공될 때 보다 재방문율이 높아진다

확인하기 위해서 3개 캠퍼스의 식단정보를 이미지에서 text로 교체했습니다.

그리고 얼마의 시간이 흐른 후, 3개 캠퍼스는 가장 활성화된 TOP 10안에 드는 캠퍼스가 되었습니다.

그래서, 그동안 스크린샷을 통해 제공하던 식단정보를

모두 텍스트로 교체하는 작업을 진행해 왔고, 대부분 완료했습니다.


결과가 기대네요! 전환 결과에 대해서는 추후에 한번 더 포스팅할 기회가 있을 것 같습니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함