교육청 급식 파싱 날짜

챗봇 문제 해결!
게시 날짜:
go kakaotalk-bot crawling

잘 돌아가던 카카오톡 챗봇이 죽더니, 나중에는 실행조차 되지 않았다. 아무 로그도 찍히지 않았다. gocode로 고통받을 때라 Vim을 버리고 GoLand으로 이사해서 디버거를 사용해보았다. 문제는 급식 정보를 가져오는 함수였다. 교육청 홈페이지 접속까지는 문제 없이 되지만, 정보 파싱에서 문제가 일어났다. 방학이라 급식 정보가 없어 능동적이지 못한 내 크롤러가 이상한 작동을 한 것이 문제였다. (하지만 왜 패닉도 안하고 무한 루프 비스무리 한 게 걸렸는지 모르겠다.)

고쳐야 할 곳은 크롤러 부분만은 아니었다. 교육청 홈페이지 접속 시 넘겨주는 인자 중 날짜가 있는데, yyyy-mm-dd 형태로 넘겨주어야 한다. Go의 time 패키지는 이런 타임스탬프 생성이 없는 것 같아 내가 따로 만들어서 사용하고 있었는데, 10월 이전의 달들 앞에 0을 붙여줘야 하는 걸 잊었다. 날짜도 그렇고. 이건 쉽게 고칠 수 있었지만, 이상한 점이 하나 있었다. 교육청 홈페이지에 1월 11일을 2019-1-11로 내가 잘못 넘겼는데, 2019년 10월 28일의 자료를 보여준다. 도대체… 왜?

– 추가

Vim을 잘 찾아오지 않게 될 것 같다. gocode가 지금 너무 느려졌다. 아마 Modules와 관련있는 것 같은데… 모듈 정보는 잘 가져온다. 가끔 에러를 내고 자동 완성에 800ms가 걸려서 그렇지. 게다가 지금 노멀 모드일 때 입력 소스를 영어로 고정해주는 플러그인도 이 포스트를 작성할 때 갑자기 작동을 안한다. 잠깐 JetBrains의 노예로…