使用 py12306 購票

歸程將至,不少朋友可能還未買到火車票。這里根據我自己這幾天的購票經歷分享下如何使用工具 py12306 購票。

這里我們使用 Linux 系統(tǒng)。

安裝 Python 環(huán)境

首先需要 Python 環(huán)境,下面安裝了一個 Miniconda,它會帶 Python,如果已經有的話可以跳過。

# 安裝 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 包含了程序所有的配置,有非常好的注釋,跟著修改即可。
主要是修改賬號、密碼、購票人和乘車區(qū)間、日期等。

另外需要設置下微信推送,使用 Server 醬即可:

# ServerChan 和 PushBear 微信消息推送
# 使用說明,點擊下面的鏈接查看
# ServerChan     http://sc.ftqq.com
# PushBear       http://pushbear.ftqq.com
SERVERCHAN_ENABLED = 1
SERVERCHAN_KEY = 'xxx'

設置完后測試下(免得買到票沒收到通知??)

運行購票程序

python main.py  

可以使用 nohup 掛在后臺:

nohup python main.py &  

瀏覽器通過 127.0.0.1:8008可以訪問 Web 端。

如果運行時出現網絡錯誤的提示

修改下面的配置:

# 網絡錯誤問題臨時解決方案
# 以IE為例,網頁登陸12306 網站: https://kyfw.12306.cn/otn/resources/login.html

# 按F12 調出瀏覽器調試頁面定位到網絡選項:
# 在頭部Cookie里面查找,RAIL_EXPIRATION 和RAIL_DEVICEID的值 。
# 打開 env.py,查找這兩個參數,把值替換成第二步里的RAIL_EXPIRATION 和RAIL_DEVICEID的值,重啟刷票腳本即可 愉快的登錄刷票了。

CACHE_RAIL_ID_ENABLED = 1
RAIL_EXPIRATION = 'xxx' #瀏覽12306 網站中的Cache的RAIL_EXPIRATION 值
RAIL_DEVICEID = 'xxx' #瀏覽12306 網站中的Cache的RAIL_DEVICEID 值

最后,如果有其他問題和需求請查看項目主頁:https://github.com/pjialin/py12306

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容