An unofficial Korail API for Python.
You can install Korail with pip
command like below:
$ pip install korail
You can login to korail server via membership number signing or phone number signing.
Basically, to login via membership number signing:
from korail import Korail korail = Korail() korail.login('12345678', '0000') # membership number signing
Or via phone number signing:
korail.login('010-1234-5678', '0000', True) # phone number siging
Search a station code with station name. All station code and name data is stored in stations.py
file in package.
A single station data looks like:
{ "code": "0001", "name": u"서울" }
stations = korail.search_station('서울') print stations[0]['code'] # '0001'
You can search train schedules with search_train()
method. search_train()
method takes these arguments:
- dep
- A departure station code.
- arr
- An arrival station code.
- date
- Departure date. (
yyyyMMdd
formatted) - time (Default='000000')
- Departure time. (
hhmmss
formatted) - train (Default='05')
A train type. One of these:
- 00: KTX
- 01: 새마을호
- 02: 무궁화호
- 03: 통근열차
- 04: 누리로
- 05: 전체 (기본값)
- 06: 공학직통
- 09: ITX-청춘
- count (Default=1)
- A number of passengers. Minimum value is 1 and maximum is 9.
Sample search code:
dep = '0001' # From: Seoul Station arr = '0015' # To: Dong-Daegu Station date = '20140114' # yyyyMMdd time = '001230' # hhmmss # list of ``Trains`` instances. trains = korail.search_train(dep, arr, date, time)
try: korail.reserve(train) except KorailError as e: print e.message
Retrieving all ticket information is not support yet. Only ticket id is returned.
korail.tickets()
Example code below cancels all reserved tickets.
for ticket_id in korail.tickets(): korail.cancel_ticket(ticket_id)
- Non-member reservation
- More detailed exception handling
tickets()
to return all ticket information.