대전사는데다 아이폰도 없는 나는 멀리서 바라볼 뿐...
그러다가 최근에 네이버 맥쓰사 카페에서 다음의 주소를 알게 되었다.
m.djits.info/pda
대전시에서 제공한 정보를 가공해서 보여주는 것 같긴한데 정확히 누가 만든 건지 누가 운영하는지는모르겠다.
암튼 이걸 파이썬과 BeautifulSoup로 데이타만 가져와봤다. 웹사이트에 접속해서 하는 것보다 터미널에서 버스 번호만 입력하면 되기 때문에 퇴근할 때 컴퓨터 끄기 전에 쉽게 볼 수 있어서 좋다.
<code python>
#!/usr/bin/python
# -*- coding: utf-8 -*-
from BeautifulSoup import *
import chardet
import urllib2
import re
import os
bus = input("버스번호: ")
try:
f = urllib2.urlopen("http://m.djits.info/pda/Bus_location.jsp?route_id=250%d0&route_name=%d&direction_tf=T" % (bus, bus))
soup = BeautifulSoup(f, fromEncoding="cp949")
except:
print u"서비스 이용 불가."
os.sys.exit(1)
f.close()
try:
data = soup('table')[5].contents[3].renderContents('utf-8')
except IndexError:
print u"서비스 이용 불가."
os.sys.exit(1)
datas = data.splitlines()
stops = []
for i in datas:
i = i.strip()
i = re.match("\d\. .+$", i)
if (type(i) != 'NoneType'):
try:
print i.group()
stops.append(i.group())
except:
pass
</code>
BeautifulSoup라는 걸출한 파이썬 모듈이 있었기에 쉽게 할 수 있었다. 최종 목표는 특정 시간이 되면 구글 칼렌더에 자동으로 등록되게 하는 것. 구글 칼렌더의 일정 SMS받기를 이용하는 것인데, api를 공부해야 되서...
한달치 데이터 모아서 LaTeX으로 보고서 만들면 재밌을 것 같다.

bus.py
Prev
