devxoul / Korail
Licence: bsd-3-clause
🚆 An unofficial Korail API for Python.
Stars: ✭ 87
Programming Languages
python
139335 projects - #7 most used programming language
====== Korail
An unofficial Korail API for Python.
Installation
You can install Korail with pip
command like below:
::
$ pip install korail
Quick Start
- Login
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
2. Search Station
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'
- Search Train
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)
4. Reservation
~~~~~~~~~~~~~~
::
try:
korail.reserve(train)
except KorailError as e:
print e.message
5. Get Tickets
~~~~~~~~~~~~~~
Retrieving all ticket information is not support yet. Only ticket id is returned.
::
korail.tickets()
6. Cancel Ticket
Example code below cancels all reserved tickets.
::
for ticket_id in korail.tickets():
korail.cancel_ticket(ticket_id)
To-Do
- Non-member reservation
- More detailed exception handling
-
tickets()
to return all ticket information.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].