본문 바로가기

일::개발

버스 도착 알림 Telegram 봇 만들기 (1)

이사간 집에서 전철역까지 가는 마을버스 노선이 하나 밖에 없는데, 배차 간격이 무려 20분이다.

네이버 지도로 도착 예정 정보를 보고 나가는 것도 번거롭고 해서 내가 원하는 정보만 알려줄 수 있는 Telegram Bot을 만들어보기로 했다.

 

일단 버스 도착 정보를 얻는 것이 문제였는데,

 

공공데이터포털(data.go.kr)에 "국토교통부(TAGO) 버스도착정보" 오픈 API가 있는 것을 보고 이것을 사용하면 되겠구나 싶었다.

데이터포털에 가입만 하면 신청 후 별도의 승인 절차 없이 바로 해당 API를 사용할 수 있었기 때문에 오오 좋은걸 하고 시도해 봤지만, 이 API는 경기도 마을버스 정보를 제공하지 않았다.

 

경기도에서 제공하는 경기버스정보 사이트에서도 오픈API를 제공하고 있지만, 역시 마을버스 정보는 API로 제공하지 않는다.

 

티머니에서 제공하는 오픈API 서비스가 있는데, 여기에는 마을버스 API가 별도로 존재한다. 티머니 API는 개별 API별로 신청하고, 승인을 받아야 테스트해볼 수 있어서 확인하는데 시간이 좀 걸렸고, 승인 받더라도 1개월 이후에는 별도 이용계약을 체결해야 사용할 수 있다고 되어 있다. 

 

ODSay LAB이라는 곳에서 (일1000회까지 무료로) 제공하는 API도 있었다. 전국 범위의 모든 대중교통 18만개 노선 데이터를 제공한다고 되어 있었지만, 역시 경기도 마을버스 도착 정보는 제공되지 않는다.

 

아 이렇게 시간만 들이고 실패하는 것인가 하다 보니 경기버스정보 웹사이트에서는 마을버스 도착 정보까지 제공을 하고 있는 것이 아닌가?

 

 

API로는 제공을 안 하면서 웹사이트에서는 보여주고 있네?

dev tool로 대충 보니 내부적으로 API를 호출해서 해당 페이지의 정보를 보여주고 있고, 고맙게도 외부에서 별도의 인증 키 없이 해당 API를 호출할 수 있도록 열어놓았다.

 

 

어머 여기에 필요한 모든 것이 다 있구만. 괜히 오픈API 승인받고 어쩌고 할 것 없이 바로 이것을 이용했으면 에너지를 절약했을텐데...

데이터 가져오는 작업이 잘 되는 것을 확인한 후에 다음 작업으로 넘어간다.