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