Skip to main content

This is a Korail seat reservation support service. If you cannot make a reservation, we will tell you how to make a reservation by adding an intermediate station.

Project description

Korail 에서 기차 예매를 진행할 때, 출발역에서 도착역까지 예매를 할 수 없는 경우 중간 정차역을 껴서 예매가 가능한 구간이 있는 지 확인하는 코드입니다.

$Seat_{n-1}$ $Seat_{n}$ $Seat_{n+1}$ $Seat_{n+k}$
서울-천안 X O X X
천안-부산 X X O X

서울에서 부산까지 완전히 비어있는 좌석이 없으므로 예약할 수 없지만, (서울 - 천안), (천안 - 부산) 구간에서 티켓을 구매할 수 있습니다.


0. 설치

$ pip install kopper

1. 기차 정보 조회

from kopper import *

kopper = Kopper()

# 기차 기본 정보 (최대 10개 조회)
trains_info = kopper.trains_info("20200315", "60000", STATIONS.광명, STATIONS.부산, TRAIN_TYPE.KTX)


for train_info in trains_info:
    print(train_info)

"""
No.00101     KTX     광명(053100) ------ 부산(075100)
No.00103     KTX     광명(054600) ------ 부산(081700)
No.00105     KTX     광명(061600) ------ 부산(083700)
No.00201     KTX_산천      광명(062100) ------ 부산(085400)
No.00107     KTX     광명(065100) ------ 부산(091600)
No.00109     KTX     광명(071600) ------ 부산(094000)
No.00111     KTX     광명(074600) ------ 부산(100200)
No.00113     KTX     광명(080900) ------ 부산(100700)
No.00115     KTX     광명(081700) ------ 부산(104300)
No.00119     KTX_산천      광명(095100) ------ 부산(122400)
"""

2. 기차 시간표 조회

# 기차 선택
selected_train_info = trains_info[0]

# 선택한 기차 시간표 조회
selected_train_schedule = kopper.train_schedule(selected_train_info) 

print(selected_train_schedule)

"""
광명 (05:31) - 대전 (06:10) 
대전 (06:12) - 동대구 (06:56) 
동대구 (06:58) - 신경주 (07:15) 
신경주 (07:16) - 울산_통도사 (07:27) 
울산_통도사 (07:29) - 부산 (07:51)
"""

3. 선택한 기차 칸 번호 조회

selected_train_srcar_length = kopper.train_srcar_length(selected_train_info)

print(selected_train_srcar_length)

"""
['1', '5', '6', '7', '8', '9', '10', '11', '12', '13', '15', '17', '18']
"""

4. 예매할 수 있는 구간 출력

# 보통 약 10 ~ 20초 정도 크롤링 시간 소요
dict_selected_train_seats = kopper.train_seats_by_schedule(selected_train_info, selected_train_schedule, selected_train_srcar_length)

kopper.report_routes(selected_train_schedule, dict_selected_train_seats)

"""
광명 (05:31) - 부산 (07:51)
"""

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kopper-0.1.1.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

kopper-0.1.1-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file kopper-0.1.1.tar.gz.

File metadata

  • Download URL: kopper-0.1.1.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for kopper-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9b9cc5492e5ae8564523aa03284975a810ada05232f787b75342656e0e2c8c13
MD5 a96a3a24c6d2ccf4b0668c32c6182be1
BLAKE2b-256 9c1eef20cc92e915651a831b9946c4d40f3c56abc6b2ed1f3bfd16afaced4011

See more details on using hashes here.

File details

Details for the file kopper-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: kopper-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for kopper-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 49a0a43b51b3addc6caac73c4a430494dcf6a782f2b22695ca21964eada148c8
MD5 5c8a7fabf9775de34a144a3a6cec128a
BLAKE2b-256 746a62085097f62cd24b54928988bdadccb4012b86ffccca0d5456973143c493

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page