0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用Python代碼自動搶火車票的原理以及代碼解析

馬哥Linux運維 ? 2018-01-13 10:32 ? 次閱讀

今年你不妨自己寫一段代碼來搶回家的火車票,是不是很Cool。

準(zhǔn)備工具:

12306網(wǎng)站用戶名和密碼

Python 2.7

chrome瀏覽器及下載chromedriver

下載Python代碼

代碼用的Python+Splinter開發(fā),Splinter是一個使用Python開發(fā)的開源Web應(yīng)用測試工具,它可以幫你實現(xiàn)自動瀏覽站點和與其進行交互。Splinter執(zhí)行的時候會自動打開你指定的瀏覽器,訪問指定的URL。然后你所開發(fā)的模擬的任何行為,都會自動完成,你只需要坐在電腦面前,像看電影一樣看著屏幕上各種動作自動完成然后收集結(jié)果即可。

了解原理:

找到相應(yīng)URL,找到控件模擬登錄、查詢、訂票操作。關(guān)鍵是找到控件名稱,難點是起始地不是直接輸入的頁面值,需要在cookie中查出。

12306查詢URL:

12306登錄URL:

我的12306URL:

購票確認URL:

Python代碼打開URL,找到控件填充值:

利用Python代碼自動搶火車票的原理以及代碼解析

找到用戶名密碼控件名

找到起始地控件名

確定起始地的值,方法Chrome瀏覽器中的“檢查”功能(按F12),Network ---> Cookies中找到:

cookie中起始地的值

拷貝起始地的cookie值,我把幾個常用的城市拷出來,放到了字典中:

查詢車票代碼:

其實,你只需要運行代碼:

當(dāng)然,還需要手動點一下的還是萬惡的12306驗證碼,搶到票后確認支付就行啦。

搶票進行中

搶票成功!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4697

    瀏覽量

    68083
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4758

    瀏覽量

    84289

原文標(biāo)題:100行Python代碼自動搶火車票!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    過年回家的火車票你訂到了嗎?

    票大戰(zhàn)已經(jīng)開始,你回家的火車票訂到了嗎?
    發(fā)表于 01-10 13:49

    自助售賣火車票的機器

    自己做了個模擬的自助售賣火車票的機器,大家看著玩吧
    發(fā)表于 03-19 22:07

    今年春節(jié),你還票回家嗎?

    `又到了一年一度的人口大遷移季節(jié),很多小伙伴們已經(jīng)開始每天守在電腦前,春節(jié)回家的票了吧!小編也是第一次票,所以終于體會到了票的難度!原來比找女票更難的是。。。。。。春節(jié)回家的
    發(fā)表于 12-03 17:33

    2018年春運火車票開售 代售點門市冷清

      2018年春運火車票開售 代售點門市冷清  目前,鐵路車票預(yù)售期為:通過互聯(lián)網(wǎng)(12306網(wǎng)站)、12306手機客戶端、電話訂票為30天;通過車站售票窗口、站內(nèi)自動售票機、市內(nèi)火車票
    發(fā)表于 01-17 16:38

    新版火車票二維碼防偽技術(shù)

    新版火車票二維碼防偽技術(shù) 據(jù)有關(guān)媒體報道,11月17日,鐵道部向全國各鐵路局下發(fā)了《關(guān)于修改部分車票票樣的通知》。通知中指出,為了適應(yīng)新技術(shù)發(fā)展,決定自200
    發(fā)表于 12-09 10:48 ?2499次閱讀

    火車票學(xué)生優(yōu)惠卡防偽系統(tǒng)設(shè)計

      一、系統(tǒng)說明   該系統(tǒng)適用于全國各大專院校,為學(xué)生購買半價優(yōu)惠火車票(須持學(xué)生購票優(yōu)惠卡)提供讀卡、發(fā)卡、查詢、統(tǒng)計等功能。   二、運行環(huán)境
    發(fā)表于 11-02 17:09 ?767次閱讀

    無線射頻技術(shù)植入火車票 以提高防偽和自動售檢功能

    在奧運門票中大顯神通的無線射頻技術(shù),未來有望被植入火車票,以提高防偽和自動售檢功能。昨天,記者從科技部獲悉,國家863計劃“射頻識別(RFID)技術(shù)與應(yīng)用”
    發(fā)表于 01-02 13:00 ?798次閱讀

    python代碼示例之基于Python的日歷api調(diào)用代碼實例

    本文檔的主要內(nèi)容詳細介紹的是python代碼示例之基于Python的日歷api調(diào)用代碼實例。
    發(fā)表于 09-06 14:25 ?42次下載
    <b class='flag-5'>python</b><b class='flag-5'>代碼</b>示例之基于<b class='flag-5'>Python</b>的日歷api調(diào)用<b class='flag-5'>代碼</b>實例

    12306火車票票軟件應(yīng)用程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是12306火車票票軟件應(yīng)用程序免費下載,電腦端的一個火車票的軟件,比較實用定期更新。安全無病毒。
    發(fā)表于 09-07 08:00 ?25次下載

    再見了紙質(zhì)火車票,中鐵:明年電子客票將全國使用

    紙質(zhì)火車票是從上世紀(jì)40年代開始使用的,到現(xiàn)在已歷經(jīng)了4代排版的升級、修改,現(xiàn)在絕大多數(shù)的人在搭乘火車時,都是憑借紙質(zhì)車票進站候車的。最近中國鐵路總公司突然宣布:電子客票明年將在全國全面推廣!
    的頭像 發(fā)表于 11-26 17:20 ?4006次閱讀

    教大家如何用Python火車票!

    但是,所有的鄉(xiāng)愁和感傷,最好的解藥就是一張火車票。每當(dāng)萬事俱備,總是只欠東風(fēng),我依然是被一張 5mm 厚的火車票攔在了門外。隱隱約約在我眼前出現(xiàn),然后又悄無聲息的走掉,說的就是你,我花錢加速都不到的
    的頭像 發(fā)表于 01-02 10:35 ?6145次閱讀
    教大家如何用<b class='flag-5'>Python</b><b class='flag-5'>搶</b><b class='flag-5'>火車票</b>!

    火車票的時代,正式宣告結(jié)束!

    12306技術(shù)部主任單杏花宣布了一個重磅消息:全面取消紙質(zhì)車票。
    的頭像 發(fā)表于 04-10 09:01 ?2174次閱讀

    華強北又火了!華為新機難蘋果新機暴跌

    手機時代已變,已經(jīng)到了要用專業(yè)軟件的地步,關(guān)鍵還不到,難度超過火車票,但這就是華為芯片導(dǎo)致華為Mate 40 pro+一機難的現(xiàn)狀。
    的頭像 發(fā)表于 10-29 16:25 ?2009次閱讀

    火車票的算法是怎么實現(xiàn)的

    導(dǎo)讀相信大家應(yīng)該都有火車票的經(jīng)驗,每年年底,這都是一場盛宴。然而你有沒有想過火車票這個算法是怎么實現(xiàn)的呢?其實并沒有你想的那么難。 12306
    的頭像 發(fā)表于 11-17 11:31 ?2381次閱讀

    積分球-分光光度法在磁卡火車票鑒定中的應(yīng)用

    制假者不斷地改變方法來提高制假技藝,使假票證變得更加逼真、難以識別。 真火車票的防偽措施主要為水印及熒光纖維,但實際工作中也發(fā)現(xiàn)有含熒光防偽纖維的假票,特別是目前電腦制版印刷假票,利用先進的電腦制版、PS 版平面印刷、
    發(fā)表于 01-14 10:02 ?449次閱讀