W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
本文轉(zhuǎn)載至知乎ID:Charles(白露未晞)知乎個人專欄
下載W3Cschool手機App,0基礎(chǔ)隨時隨地學(xué)編程>>戳此了解
又是一年春運,很多地方的火車/高鐵票依舊一票難求~~~于是,大家應(yīng)該明白我推出這個小項目的緣由了吧~~~
(1)利用python實現(xiàn)火車/高鐵票查詢功能;
(2)利用python實現(xiàn)搶火車/高鐵票功能;
(3)對上述兩項基本功能進行優(yōu)化;
(4)最后將兩項功能集成到一個Demo,供所有專業(yè)/非專業(yè)人士使用。
PS:
本項目不提供細致入微的教學(xué)(如有疑問可后臺私信咨詢),僅講解主要思路、環(huán)境搭建、使用方式以及最終代碼(含詳細注釋)。
實現(xiàn)項目內(nèi)容中的前兩項。
python版本:3.5.4
chromedriver_win32版本:2.3.4
chrome版本:65.0.3298.4
百度網(wǎng)盤下載鏈接: https://pan.baidu.com/s/19jgSjtuxslE-UUK3kg3hpQ
密碼: rjv6
requests模塊、prettytable模塊以及python自帶的一些基本模塊。(相關(guān)模塊均使用pip安裝即可)
構(gòu)建相關(guān)的URL請求,并對返回的JSON數(shù)據(jù)進行解析處理最后顯示即可。
其中值得一提的有:
(1)需要對特殊的URL發(fā)送請求來獲得輸入車站的字母代號;
(2)車票余量查詢的URL有兩個,任意某時刻兩個URL中僅有一個是有效的。
安裝python3.5.4(添加到環(huán)境變量)并pip安裝相關(guān)第三方庫即可。
見相關(guān)文件。
splinter模塊以及python自帶的一些基本模塊。(相關(guān)模塊均使用pip安裝即可)
其實無非是利用splinter庫,來實現(xiàn)模擬登陸、查詢、訂票等操作。換句話說只要找到相關(guān)的控件名稱即可,具體流程可以參考相關(guān)文件中的源代碼,我都做了詳細的注釋。
值得一提的有:
(1)出發(fā)地和目的地不是直接輸入的頁面值,需要在cookie中查出;
(2)驗證碼需要手動輸入。
安裝python(添加到環(huán)境變量)并pip安裝相關(guān)的第三方庫,最后將相關(guān)文件中提供的chromedriver.exe文件放在python安裝文件夾中的Scripts文件夾內(nèi)。
在下圖所示的代碼段中填寫相關(guān)信息:
確認無誤后在cmd中運行即可。
其中cookie值查找方式如下圖:
輸入驗證碼后其余操作均將自動進行:
搶到票之后我們需要手動打開12306官網(wǎng)或者官方APP在未完成訂單中進行支付后購票:
見相關(guān)文件。
主要完成項目內(nèi)容3。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: