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