Python3實現搶火車票功能(下)

嗨學程式設計發表於2018-11-12

導語

我們來完成專案的最後一部分內容即將兩項功能整合到一個Demo,供所有專業/非專業人士更加方便地使用。

開發工具

python版本:3.5.4

chromedriver_win32版本:2.3.4

chrome版本:65.0.3298.4

相關模組:

requests模組、splinter模組、PIL模組以及python自帶的一些基本模組。(相關模組均使用pip安裝即可)

相對之前版本的變動:

(1)視覺化介面;

(2)車次不再使用純數字,可直接輸入需要搶票的車次名(如G163),使用更加方便;

(3)暫時廢除了郵件提示功能(太不穩定了)。

具體原理請參考原始碼!

環境搭建:

安裝python(新增到環境變數)並pip安裝相關的第三方庫,最後將相關檔案中提供的chromedriver.exe檔案放在python安裝資料夾中的Scripts資料夾內。

使用方式:

在cmd視窗執行即可。

介面展示:

Python3實現搶火車票功能(下)

最終程式碼:

Python學習群:516107834

使用演示

(1)查詢功能

Python3實現搶火車票功能(下)

(2)搶票功能

Python3實現搶火車票功能(下)

需手動輸入驗證碼:

Python3實現搶火車票功能(下)

搶到票之後我們需要手動開啟12306官網或者官方APP在未完成訂單中進行支付後購票:

Python3實現搶火車票功能(下)

使用說明

(1)乘客名輸入格式為:

xxx(學生)或者xxx,其中()使用英文輸入法;

多名乘客時請輸入xxx,xxx,xxx,其中,使用中文輸入法。

xxx代表人名!!!

(2)日期輸入格式為:

year-month-day,例如2018-01-20。

(3)型別輸入格式為:

字母a代表全部;

字母g代表高鐵;

字母d代表動車;

字母k代表快速;

字母t代表特快;

字母z代表直達。

注意字母均為小寫。

(4)車次輸入格式為:

數字0代表任意車次,其他按照正確的車次名輸入即可,如G163等等。

若輸入的車次不存在,則系統搶票時將搶任意車次。

(5)其他:

輸入正確的使用者名稱、密碼和出發地與目的地即可。

更多

(1)這只是V1.0版本,還有很多缺陷和不足之處,為除錯和修改方便,且避免程式出現其他意外的錯誤,暫時不提供.exe版本;

(2)此版本至2018-01-12日為止是有效的,若日後12306官網有較大更新,則此程式碼將僅供參考;

(3)儘量每年搶票季對版本進行更新升級,供搶票回家的小夥伴使用;


相關文章