趣玩Python——如何幫女友快速搶票

又到了半年一度的考試季,對於那些翻山越嶺外出求學的莘莘學子們,相比於各顯神通的考試,更緊張的莫過於買一張回家的車票,相信不少羣最近都被下面這樣的圖佔領了。python

現在,隨着12306的抗壓能力愈來愈強,各類第三方搶票軟件也是層出不窮,什麼智行火車,攜程旅遊,就連官方都推出的了加速服務,這就致使了大量黃牛都開始感嘆:這年頭的生意很差作咯!git

並且如今各家的搶票方式都是八仙過海,各顯神通,這家讓你消費買加速包,那家讓你瘋狂推銷,以致於纔出現了上述加速小程序的瘋狂炸羣(微信小程序恐成最大贏家)。github

做爲一個苦逼的學生黨,花錢買加速包不大可能,畢竟買加速包的錢都快遇上半張火車票了;讓我瘋狂用小程序炸羣也不大可能,畢竟關係到本身的社交信譽,並且現現在的羣成員各個都是大爺,不發紅包不點加速。小程序

那麼難道就沒有一種geek風的搶票軟件嗎?微信小程序

12306購票小助手

想找各類騷操做的軟件,第一想法天然是去最大的同性交友網站啊,無心中發現了一個名爲12306購票小助手的項目,試了下居然真的搶到了票,項目已經開源,地址👉github.com/testerSunsh…瀏覽器

思路圖

思路圖

做者也很用心的把程序的思路給畫了出來,咱們能夠簡單的看一下。整個思路其實就是模擬一個正常人購票的方式,首先查詢下車票剩餘的票數,若是有座位提交訂單,出現驗證碼這識別驗證碼,隨後就循環點擊提交按鈕,這裏做者就作了不少的條件判斷,好比出現異常則從新查詢,提交訂單失敗也從新查詢,直至獲取訂單成功。訂票成功以後還有一個通知機制,即發送到你的郵箱裏。bash

使用

說了這麼多,應該如何使用呢?詳細的能夠參考做者的README,這裏我用最簡單的方式講述下須要注意的地方以及如何使用用這個購票小助手搶到票:微信

注意事項post

  1. python版本爲2.7.10-2.7.15
  2. 推薦使用MacOS/Linux
  3. 使用時必定要以root用戶運行

準備工做網站

  1. 註冊若快圖像識別www.ruokuai.com/client/inde…,記住用戶名和密碼,而後充值1塊錢兌換2500快豆便可,該步驟是爲識別驗證碼作準備。
  2. 下載項目:執行git clone https://github.com/testerSunshine/12306.git將代碼下載至本地。
  3. 安裝Python2.7:此處推薦使用pyenv管理你的python版本,Mac用戶能夠參考《mac下利用pyenv管理多個版本的python》安裝制定版本的python版本,這裏我使用的是python 2.7.15
  4. 安裝依賴庫:命令行進入項目根目錄後,執行sudo python2 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

項目配置

配置文件

上圖中的**ticket_config.yaml**是運行整個項目最重要的配置文件,全部的購票信息都在該文件中,好比車票時間,12306 帳號密碼,乘車人信息,通知郵箱等等,文件中都有詳細的註釋,根據要求進行更改便可。

把這個配置文件按你的需求填寫完畢以後,就能夠開始運行了。

開始搶票

命令行進入項目根目錄後,執行sudo python run.py便可開始搶票了。

若是搶到票了,就會輸出相似下面的log:

車次: DXXX 始發車站: 南京南 終點站: 合肥南 二等座: 16
設置乘車人數爲: 1
查詢到有餘票,嘗試提交訂單
車票提交經過,正在嘗試排隊
排隊成功, 你排在: 0位, 當前餘票還剩餘: 16 張
不須要驗證碼
提交訂單成功!
排隊等待時間預計還剩 -4 ms
恭喜您訂票成功,訂單號爲:XXXXXX, 請當即打開瀏覽器登陸12306,訪問‘未完成訂單’,在30分鐘內完成支付!
複製代碼

而後再登陸12306的官方網站,訪問‘未完成訂單’便可看到你的購票信息了。

最後祝願你們都能搶到回家的票!

相關文章
相關標籤/搜索