티스토리 뷰
밥대생 팀이 어떻게 400여개 캠퍼스의 식단 정보를
수집할 수 있었는지 소개해드리고자 합니다.
밥대생 팀은 크게 두 가지 방법을 통해 식단 정보를 수집해내고 있습니다.
1. 웹페이지에 올라온 식단 정보를 크롤링해서 수집
2. 각 학교 영양사님들께서 직접 우리 어드민 페이지에 식단 정보를 업로드
밥대생 초기에는 1번 방식으로만 식단 정보를 수집했었습니다.
하지만, 밥대생 서비스 규모가 점차 커짐에 따라
2번과 같이 저희 서비스에 직접
식단정보를 올려주시는 식당들이 점차 늘어나고 있습니다.
이렇게 2017년 4월 9일 기준 약 10여개의 학교에서
저희 시스템에 직접 식단정보를 업로드해주고 계십니다.
올해 안에 이런 업체들을 점차 늘려,
많은 학교들을 2번 방식으로 전환할 예정입니다.
이제 1번 방식에 대해 좀 더 자세히 설명드리고자 합니다.
극 초기 밥대생은 학식 정보를 HTML로부터 TEXT 형태로 추출해 냈습니다.
이 때, Python library BeautifulSoup를 적극 활용했고요.
이 라이브러리를 활용하면 HTML에 식단 정보가 담겨있는 경우
TEXT 형태로 정보를 비교적 쉽게 추출해 낼 수 있습니다.
이렇게 학교 하나씩 확장해나가던 중에,
식단 정보를 이미지나 PDF, PPT, EXCEL과 같은 형태로 올려주는 학교들이 꽤 많음을 알 수 있었습니다.
전체 학교 중 절반 이상이 이미지, PDF, PPT, EXCEL 형태로 올려주고 계신 것으로 파악하고 있습니다.
가장 좋은 것은 PDF, PPT, EXCEL에서 텍스트를 추출하는 것입니다.
하지만, 개발력이 부족했던 초창기에는 이런 형태에서 TEXT 형태로 식단정보를 추출해내는 것은
매우 힘든 작업이었습니다.
리멤버도 못하는데, 우리가 빠른 시간안에 할 수 있을까?
이미지는 그냥 이미지로 보여주자.
PDF나 PPT도 이미지로 보여주자!
이렇게 되면 비교적 일이 쉬워집니다.
서버에선 클라이언트에 이미지 url만 전달하면 됩니다.
(다만, 갑자기 이미지가 해당 서버에서 사라지는 일을 방지하기 위해
자사의 ftp서버인 aws s3에 업로드한 이후에 해당 링크를 보냅니다)
지금까지 어떻게 밥대생에서 여러 형태의 식단정보를
수집하는지에 대해서 설명드렸습니다.
HWP로 올라오는 식단정보에 대해서는 아직 설명드리지 못했는데,
해당 내용들은 아래 포스팅을 통해 확인하실 수 있습니다.