Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fedebotu/k-trains
An app for automatically reserving trains in Korea - both Korail and SRT - even when sold out
https://github.com/fedebotu/k-trains
bot korail korea ktx python reservation scripts srt streamlit trains
Last synced: 4 days ago
JSON representation
An app for automatically reserving trains in Korea - both Korail and SRT - even when sold out
- Host: GitHub
- URL: https://github.com/fedebotu/k-trains
- Owner: fedebotu
- Created: 2022-12-22T13:29:58.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-02T00:32:45.000Z (5 months ago)
- Last Synced: 2024-12-07T16:33:52.524Z (15 days ago)
- Topics: bot, korail, korea, ktx, python, reservation, scripts, srt, streamlit, trains
- Language: Python
- Homepage: https://k-trains.streamlit.app
- Size: 131 KB
- Stars: 52
- Watchers: 3
- Forks: 29
- Open Issues: 5
-
Metadata Files:
- Readme: README-KR.md
Awesome Lists containing this project
README
# K-Trains ๐ฐ๐ท-๐
[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_red.svg)](https://k-trains.streamlit.app)[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)[![python_sup](https://img.shields.io/badge/python-3.7+-blue.svg?)](https://www.python.org/downloads/release/python-370/)
> English version [here](README.md)
_SRT๊ฐ ์์ฝ์ด ๊ฐ๋ ์ฐจ์ ์์์ญ์ผ๋ก ํฐ์ผ์ด ์์ผ์ ๊ฐ์? ์๋๋ฉด ์ด๋ฏธ ๋งค์ง๋ ์ ๋ ดํ ๋ฌด๊ถํ ํฐ์ผ ๋๋ฌธ์ ๊ณ ๋ฏผํ๊ณ ๊ณ์ ๊ฐ์? K-Trains๊ฐ ๋์๋๋ฆฌ๊ฒ ์ต๋๋ค!_
K-Trains๋ [Korail](https://www.letskorail.com/)๊ณผ [SRT](https://etk.srail.kr/)์ API์ ์ฐ๊ฒฐํ์ฌ ํ๊ตญ์ ๊ธฐ์ฐจ ์ ๋ณด๋ฅผ ์ป๊ณ ์์ฝํ๋ Streamlit ์ฑ์ ๋๋ค.
## ์ฌ์ฉ ๋ฐฉ๋ฒ
### ์น UI
Streamlit์์ ์ฑ์ ์คํํ๋ ค๋ฉด [์ฌ๊ธฐ](https://k-trains.streamlit.app/)๋ฅผ ํด๋ฆญํ์ธ์. UI๋ ์๊ธฐ ์ค๋ช ์ ์ด๋ฏ๋ก ๋ก๊ทธ์ธํ๊ณ ์๋ฆผ์ ๋ฐ๊ฑฐ๋ ์ง์ ์์ฝํ๊ณ ์ถ์ ๊ธฐ์ฐจ๋ฅผ ์ ํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๊ฐ๋ฅํ์ง ์๋ค๋ฉด ์ฑ์ด ์ฌ์ฉ ๊ฐ๋ฅํ ๋ ์๋ ค์ฃผ๊ณ ๋น์ ์ ์ํด ์์ฝํฉ๋๋ค!_ํฐ์ผ์ ๋ํ ๋น์ฉ์ Korail ๋๋ SRT ์น์ฌ์ดํธ/์ฑ์์ ์๊ฐ ๋ด์ ์ง๋ถํด์ผ ํฉ๋๋ค._
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์๋์ผ๋ก ์๋ก ๊ณ ์นจํ๊ณ ๋๊ตฐ๊ฐ๊ฐ ํฐ์ผ์ ๋จผ์ ์์ฝํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ๊ธฐ๋ํ๋ ๊ฒ๋ณด๋ค๋ ๋์ ๊ฒ์ ๋๋ค ;)
### ์๋ ๋ฐฐํฌ
์ด ์์ฉ ํ๋ก๊ทธ๋จ์ Python์์ ์น GUI๋ฅผ ํ์ฉํ๋ [Streamlit](https://streamlit.io/)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ๋ก์ปฌ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ ์คํํ์ธ์:
```bash
streamlit run app.py
```์น ๋ธ๋ผ์ฐ์ ๊ฐ ์๋์ผ๋ก ์ด๋ ค ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ธ๋ผ์ฐ์ ๋ฅผ ์๋์ผ๋ก ์ด๊ณ http://localhost:8501๋ก ์ด๋ํ ์ ์์ต๋๋ค.
๋ํ ์ง์ ํฐ์ผ์ ์์ฝํ๊ธฐ ์ํด ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์๋ ์์ต๋๋ค:
```bash
python reserve.py [OPTIONS]
```### ๋น๋ฐ ๋ฐ ์ด๋ฉ์ผ API ์ฐ๊ฒฐ
์ฑ์ ์ด๋ฉ์ผ ๊ณ์ API(ํนํ Google)์ ์ฐ๊ฒฐ๋ฉ๋๋ค. ์ฑ์ ์ค์ค๋ก ๋ฐฐํฌํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฉ์์ง๊ฐ ํ์๋ ์ ์์ต๋๋ค:```bash
FileNotFoundError: No secrets files found. Valid paths for a secrets.toml file are: C:\Users\nyancat.streamlit\secrets.toml
```
์์ฒด secrets.toml ํ์ผ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ด ๊ฐ์ด๋๋ฅผ ๋ฐ๋ฅผ ์ ์์ต๋๋ค. Gmail์ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ email_notify ํจ์๋ฅผ ์์ ํด์ผ ํฉ๋๋ค. ํนํ ์ด ์ค์์์ ๋๋ค.## ๊ณ ์ง
๊ฐ๋ฐ์๋ ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ฉ์ ๋ํด ์ฑ ์์ง์ง ์์ต๋๋ค. ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ต์ก ๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉ๋ฉ๋๋ค. ์๊ธฐ ์ฑ ์ํ์ ์ฌ์ฉํ์ธ์!## ์คํฌ๋ฆฐ์ท
## ๊ฐ์ฌ์ ๋ง
์ด ํ๋ก์ ํธ๋ ๋ค์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ถ์ ๊ฐ๋ฅํ์ต๋๋ค:Korail: https://github.com/carpedm20/korail2
SRT: https://github.com/ryanking13/SRT
### ํผ๋๋ฐฑ
ํผ๋๋ฐฑ์ด ์๋ค๋ฉด ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๊ฑฐ๋ pull request๋ฅผ ์ด์ด์ฃผ์ธ์!