택시 비용 API를 찾아서

predict-woo·2024년 1월 1일
post-thumbnail

교내 동아리에서 진행하는 프로젝트 중 한 위치에서 다른 위치로 택시를 타고 갈때 필요한 비용을 계산해주는 기능을 만들어야 하는 사정이 생겼다.

네이버에서 지원하는 공식 경로 계산 API이다. 돌려주는 값들 중 taxiFare 이라는 값이 있다.
가격
현재 서비스 사용자가 400명 가량 존재한다. 즉 한달에 한 사용자가 150건, 하루에 5건의 택시비 계산을 할 수 있다는 얘기이다.
사실 하루에 5건정도면 현 사용자들에게 서비스를 제공하고도 남는 수준이다. 하지만, 서비스의 필수 기능들이 이 가격 계산에 의존하기에 확실한 안정성이 필요하다.
따라서 불안정한 API더라도 무료 버전을 찾아보고, fallback으로 유료 API를 사용하게 만들어보자.

Kakao Map

카카오맵에는 택시비를 계산해주는 기능이 있다. 이를 뜯어와보자.
ssl 프록시를 이용해서 API콜을 뜯어본 결과, https://app.map.kakao.com/route/carset/mobility.json 으로 origindestination 의 파라미터로 좌표를 보내주는 걸 알 수 있었다.

import requests

base_url = 'https://app.map.kakao.com/route/carset/mobility.json'

params = {
    'origin': '127.37888948493487,36.38793945312501',
    'destination': '127.04669593,37.59267542',
}

response = requests.get(base_url, params=params)

print(response.json()["results"][0]["summary"]["fare"]["taxi"])

$ 173500

이를 따라서 간단한 코드를 작성해보면, 헤더나 쿠키 없이도 아주 잘 작동하는걸 볼 수 있다.
이를 1차 API로 사용하고, 실패했을때 유료 API로 전환하면 될 듯 하다.

profile
학생 개발자

0개의 댓글