爸媽再也不用擔心我搶不到票了

前言

最近在github上閒逛,發現一個用python寫的很不錯的搶票系統,據說,比12306好用哦並且搶票速度也是非常快的。話不多說,馬上就教大家如何一步步使用。各位小夥伴,年尾將至還在爲了買一張回家的高鐵票,花大把的冤枉錢一下開個VIP、極速、光速嘛?這是基於jupyter運行和docker運行的,不過其他編輯器運行應該也差不多,配置過程是一樣的。在jupyter notebook運行%run run.py t可以測試郵箱和server醬是否能收到消息。然後保存文件,在此之前要先運行一下下面兩句代碼,這是爲了py文件修改之後可以在jupyter立即生效的,之前我每次修改TickerConfig.py文件裏的參數但是直接在jupyter運行都發現沒有修改成功的,要把jupyter關掉重開才行,後面發現運行了這兩句代碼就可以了。

正文

Step 1

首先進去github項目網址,將項目下載到自己本地電腦。地址在下方:

        https://github.com/testerSunshine/12306

Step 2

    根據網址裏面寫的操作過程先安裝所需的第三方庫,從存放12306-master文件夾的目錄直接進入cmd,然後運行下列代碼。

Step 3

    修改TickerConfig.py文件裏面的參數設置。賬戶密碼改爲自己的12306賬戶密碼,再根據自己要搶票的時間,車次,乘車人,座位修改相應參數,這些就不細講了。這裏主要講一下郵箱配置(QQ郵箱)和開啓server醬微信通知的操作過程,也是我自己遇到的坑之一。

Step 3.1

郵箱配置的步驟:

     登錄QQ郵箱->設置->賬戶->開啓服務,剛開始只開了第一個會報錯(SMTPException: STARTTLS extension not supported by server.),所以後來我把三個都打開了,點擊開啓之後會要你發短信驗證,發完之後會收到授權碼,這個就是要填在TickerConfig.py裏面password的,會有多個授權碼,隨便哪個都可以。    

Step 3.2

Server醬配置的步驟:

    用github賬號登錄server醬官網,點微信推送,用微信掃二維碼關注server醬公衆號綁定賬號,然後點發送消息,可以獲取SCKEY,這個就是要填在TickerConfig.py裏面secret的。

 

Step 3.3

在jupyter notebook運行%run run.py t可以測試郵箱和server醬是否能收到消息。

至此郵箱配置和server醬配置就完成啦!

Step 4

      把雲服務器改爲本地服務器打碼,作者應該寫錯了,這裏要改成本地打碼的話是AUTO-CODE_TYPE改爲2,HOST改爲”captcha:80”,然後保存文件,在此之前要先運行一下下面兩句代碼,這是爲了py文件修改之後可以在jupyter立即生效的,之前我每次修改TickerConfig.py文件裏的參數但是直接在jupyter運行都發現沒有修改成功的,要把jupyter關掉重開才行,後面發現運行了這兩句代碼就可以了。

Step 5

要配置一下cookie:

    設置COOKIE_TYPE=3的時候,需要配置RAIL_EXPIRATION、RAIL_DEVICEID的值,怎麼找這兩個值,打開12306官網,登錄界面,按F12,然後找到Network,點開login.html,得到Cookie裏面的RAIL_EXPIRATION、RAIL_DEVICEID的值。不過登錄一直302,可能要多試幾次。

Step 5.1

設COOKIE_TYPE=1的時候要配置chromedriver,查看自己chrome瀏覽器的版本,瀏覽器地址欄輸入以下地址:chrome://versio,根據下載地址http://chromedriver.storage.googleapis.com/index.html下載與自己chrome版本差不多的chromedriver,存到chrome的文件夾下,然後將CHROME_PATH修改爲存放chromedriver的本地路徑。

Step 6

    最後就可以運行程序了,在jupyter先運行%run run.py c過濾cdn,就是你不要搶的車次IP,然後再運行%run run.py r,就可以掛起搶票程序了。訂票成功的話會發郵件通知和微信通知。

方法二

    如果使用docker運行項目的話,更方便一些,直接按大神的操作指引運行命令就可以了。之前已經下載好了Docker Quickstart Terminal,直接打開軟件進入搶票項目目錄,然後運行命令就可以了。不過我不太熟悉docker,也看不出運行過程是怎樣的,但是第一次是用docker掛起的,成功搶了票,所以應該是沒問題的。

最後的最後,會出現載驗證碼過期或者下載失敗的問題,應該是12306封ip的策略,多重試幾次。然後暫時搶不到就掛着就行,也好過自己手動查詢。

最後

謝謝大家的閱讀,原創不易,喜歡就點個贊,這將是我最強的寫作動力。如果你覺得文章對你有所幫助,也蠻有趣的,就關注一下我的博客,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章