歸程將至,不少朋友可能還未買到火車票奋刽。這里根據(jù)我自己這幾天的購票經(jīng)歷分享下如何使用工具 py12306 購票滞磺。
這里我們使用 Linux 系統(tǒng)。
安裝 Python 環(huán)境
首先需要 Python 環(huán)境涵卵,下面安裝了一個(gè) Miniconda浴栽,它會(huì)帶 Python,如果已經(jīng)有的話可以跳過轿偎。
# 安裝 Python >= 3.6
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 按照指示一路向下
# 重啟終端
安裝 py12306
git clone https://github.com/pjialin/py12306
cd py12306 && pip install -r requirements.txt
cp env.py.example env.py
修改配置
上面得到的 env.py
包含了程序所有的配置典鸡,有非常好的注釋,跟著修改即可坏晦。
主要是修改賬號(hào)萝玷、密碼、購票人和乘車區(qū)間昆婿、日期等球碉。
另外需要設(shè)置下微信推送,使用 Server 醬即可:
# ServerChan 和 PushBear 微信消息推送
# 使用說明仓蛆,點(diǎn)擊下面的鏈接查看
# ServerChan http://sc.ftqq.com
# PushBear http://pushbear.ftqq.com
SERVERCHAN_ENABLED = 1
SERVERCHAN_KEY = 'xxx'
設(shè)置完后測(cè)試下(免得買到票沒收到通知??)
運(yùn)行購票程序
python main.py
可以使用 nohup
掛在后臺(tái):
nohup python main.py &
瀏覽器通過 127.0.0.1:8008
可以訪問 Web 端睁冬。
如果運(yùn)行時(shí)出現(xiàn)網(wǎng)絡(luò)錯(cuò)誤的提示
修改下面的配置:
# 網(wǎng)絡(luò)錯(cuò)誤問題臨時(shí)解決方案
# 以IE為例,網(wǎng)頁登陸12306 網(wǎng)站: https://kyfw.12306.cn/otn/resources/login.html
# 按F12 調(diào)出瀏覽器調(diào)試頁面定位到網(wǎng)絡(luò)選項(xiàng):
# 在頭部Cookie里面查找看疙,RAIL_EXPIRATION 和RAIL_DEVICEID的值 豆拨。
# 打開 env.py,查找這兩個(gè)參數(shù),把值替換成第二步里的RAIL_EXPIRATION 和RAIL_DEVICEID的值狼荞,重啟刷票腳本即可 愉快的登錄刷票了辽装。
CACHE_RAIL_ID_ENABLED = 1
RAIL_EXPIRATION = 'xxx' #瀏覽12306 網(wǎng)站中的Cache的RAIL_EXPIRATION 值
RAIL_DEVICEID = 'xxx' #瀏覽12306 網(wǎng)站中的Cache的RAIL_DEVICEID 值
最后,如果有其他問題和需求請(qǐng)查看項(xiàng)目主頁:https://github.com/pjialin/py12306