회사에서가는 구내식당이 3군데정도 있는데
각각의 구내식당 메뉴적힌 곳이 다 다른관계로..
동료들의 편의를 위해 간단한 토이프로젝트를 시작하였다..
우선 필요한 기능은
1개웹 크롤링
2개의 앱 데이터 크롤링
크롤링이 편하다는 python 으로 만들기로 하고
알림은 사내 slack 메신저로 뿌려주는걸로 계획하고 작업을 진행하였다.
python은 일단 컴파일을 안해도되서 구동에 걸리는 시간이 굉장히 작게 걸리더라..
java는....
쩃든 간단하게 생각하고 시작한 작업에 문제가 생겼다..
웹데이터는 크롤링이 정말 편한데..
앱 안의 데이터는 크롤링이 생각보다 어려웠다..
가능하면 앱을 까지는 않고 싶어서 charles 라던지 등등 통신 패킷을 확인 할수있는 툴을
사용해 봣으나..
내가 원하는 정보는 보이지 않았다.
그래서 결국 dex2jar 이라는 lib를 이용하여
android앱을 decompile후 안드로이드 소스를 확인하여..
앱에서 호출하는 api를 확인하고
같은 방식으로 python에서 호출해서 데이터를 받아오는 방식으로 제작하였다.
회사 내부에서만 사용하는 서비스기에 그냥 받아와서 쓰지만
상용은 이러면 안되지 싶다..
아래는 dex2jar 이용해서 디컴파일후
jd-gui를 이용해서 소스를 확인하는 화면이다
이렇게 일단 크롤러를 만들고 실시간으로 크롤해온
데이터를 slack 로 뿌려주기만 하면되는데
역시나 slack는 너무 뿌리기편하다 webhook로 주소만 받으면 만사ok
카카오톡 알림봇도 알아봤으나 메시지를 보내기위해선 서버가 필요한 관계로 slack으로 진행하였다.
아래는 SLACK에 던져지는 결과물..
간단하게 만들었지만 방향을 잘못잡아 CHARLES를 이용하는데도 2~3시간은 소비하였고
이리 저리 작업하다보니 5시간정도는 걸린것 같다...
사실 PYTHON이 생산성이 높다고는 하는데
JAVA로 만들어도 크게 차이는 나지않을것 같다.(숙련자기준)
근데 처음 프로그램을 접하면 PYTHON 문법은 정말 편하게 익히고 사용될것 같다.
PYTHON숙련자가 만들면 더빨라지겟군......
아무튼 간단한 동료들 편의를 위해만든 토이프로젝트지만
반응도 괜찮고 해서 오랫만에 블로깅을 해본다.
'소소한 개발이야기' 카테고리의 다른 글
Process vs Thread 차이점 요약 (0) | 2021.08.05 |
---|---|
heroku를 이용한 maven 프로젝트 배포 (0) | 2019.05.31 |
Eclipse에서 Intellij 로 갈아탄 사연.. (1) | 2019.04.26 |