50 個(gè)加速包都搶不到車票,還不如這個(gè) Python 搶票神器

閱讀文本大概需要 6.6 分鐘。

又到了一年一度的搶票大戰(zhàn),本來就辛苦勞累了一年,想著可以早點(diǎn)訂到票跟家里人團(tuán)聚。所以有挺多的人,寧愿多花些錢去找黃牛買票。但今年各種搶票軟件的橫行,還有官方出的加速包,導(dǎo)致連黃牛都不敢保證能買到票。你無奈的只能一起加入搶票大軍。

從不花錢的低速,到中速、高速、極速、光速、VIP,6 種搶票速度,越快當(dāng)然搶到的幾率也就更高,但每升一極都需要你花 10 個(gè)加速包才能實(shí)現(xiàn)。

而加速包的獲取方式有兩種:1 直接花錢買,1 元 1 個(gè)價(jià)格,全套下來大概 50 元左右。2 是好友助力,每邀請(qǐng)一個(gè)好友幫你助力就能獲取 2 ~ 5 不等的加速包。

大部分人都是不愿意花錢買加速的,所以你開始群發(fā)好友,轟炸微信群,朋友圈吆喝,掛 N 個(gè)搶票軟件,各種你能想到的手段,都嘗試一遍,但無一都失敗了。

今天我就給大家介紹一個(gè)開源的 Python 搶票程序,親測有效!我身邊已經(jīng)有很多好友,通過這個(gè)程序搶到車票了。不僅免費(fèi)開源,還非常有用。

12306 購票小助手

項(xiàng)目已經(jīng)在 GitHub 上開源了,地址:

https://github.com/testerSunshine/12306

作者也很用心的把程序的思路給畫了出來,我們可以簡單的看一下。整個(gè)思路其實(shí)就是模擬一個(gè)正常人購票的方式,首先查詢下車票剩余的票數(shù),如果有座位提交訂單,出現(xiàn)驗(yàn)證碼這識(shí)別驗(yàn)證碼,隨后就循環(huán)點(diǎn)擊提交按鈕,這里作者就做了很多的條件判斷,比如出現(xiàn)異常則重新查詢,提交訂單失敗也重新查詢,直至獲取訂單成功。訂票成功之后還有一個(gè)通知機(jī)制,即發(fā)送到你的郵箱里。

項(xiàng)目使用到的 Python 庫

接下來我們查看這個(gè)項(xiàng)目都用到哪些 Python 庫。打開 requirements.txt 文件,這里面把項(xiàng)目所用到的庫大致都寫了出來。

網(wǎng)絡(luò)請(qǐng)求用到了經(jīng)典的 requests 庫,而頁面解析用到了 bs4 和 beautifulsoup4。有人可能會(huì)問這兩個(gè)解析庫有什么區(qū)別?bs4 是用在 python3 版本上的,而 beautifulsoup4 是用在 python2 版本上。我最開始學(xué) beautifulsoup 的時(shí)候就被這個(gè)坑過。

Pillow:Pillow 是很經(jīng)典的 Python 圖像處理庫,可以大致猜測作者用這個(gè)庫來解決簡單驗(yàn)證碼的問題。

PyYAML:YAML 是一種直觀的能夠被電腦識(shí)別的的數(shù)據(jù)序列化格式,容易被人類閱讀,并且容易和腳本語言交互。YAML 類似于 XML,但是語法比 XML 簡單得多。PyYAML 是 YAML 的 Python 實(shí)現(xiàn),可以用于參數(shù)化 Pytho n對(duì)象,用來當(dāng)做配置文件。

Six:眾所周知 Python 2 和 Python 3 版本的分裂給 Python 開發(fā)者們帶來了很大的煩惱,為了使代碼同時(shí)兼容兩個(gè)版本,往往要增加大量的代碼。 于是 Six 出現(xiàn)了。正如它的介紹所說,它是一個(gè)專門用來兼容 Python 2 和 Python 3 的庫。它解決了諸如 urllib 的部分方法不兼容, str 和 bytes 類型不兼容等“知名”問題。

到這里就可以看出作者這個(gè)程序是考慮到 Python 不同版本之間的兼容性問題的,簡直業(yè)界良心。

wrapacache****:一個(gè)基于 Python 裝飾器 Decorators 的方法緩存系統(tǒng),用于緩存 Python 方法的輸出值,可以支持復(fù)雜數(shù)據(jù)類型,可以緩存到 Redis 中、Python dict、LUR 算法存儲(chǔ)中。

ntplib:這個(gè)庫是用來在 window 上同步校準(zhǔn)當(dāng)?shù)貢r(shí)間的。

安裝使用

上圖在 GitHub 倉庫中都有寫到。我這里就簡單的講下,首先你需要注冊(cè)「若快」的打碼平臺(tái),為了可以讓程序自動(dòng)打碼。隨后安裝程序依賴包,安裝方法上面已經(jīng)寫到了。

最后程序有一個(gè)很重要的文件叫「ticket_config.yaml」

所有購買車票的信息都是在這個(gè)文件里配置的,比如車票時(shí)間,12306 賬號(hào)密碼,乘車人信息,通知郵箱等等,作者在文件中都有詳細(xì)的注釋。

image

把這個(gè)配置文件按你的需求填寫完畢之后,大家就可以開始運(yùn)行了。

運(yùn)行 run.py 文件即可,親測有效!

考慮到有些同學(xué)上不了 GitHub 我已把所有文件都放在后臺(tái)了,在公眾號(hào)「癡海」中,回復(fù)「12306」即可獲取。

****搶到票的同學(xué),別忘了把文章分享給身邊需要的人!****

癡海
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 其一,不要相信有完美的頂層設(shè)計(jì),很多時(shí)候我們的初衷都很好,但是到執(zhí)行才發(fā)現(xiàn)問題,因此不斷地改良非常必要。其二,適應(yīng)...
    一旦皇糧閱讀 215評(píng)論 0 0
  • 我在前面的文章《《瑯琊榜》的人物原型》和《《瑯琊榜》赤焰冤案背后的真相》說《瑯琊榜》是一部架空歷史的小說,里面的人...
    90后女秀才閱讀 1,617評(píng)論 0 1
  • "目錄號(hào): HY-14855 Anti-infection- Tedizolid 是一種新穎的惡唑烷酮,具有抗革蘭...
    莫小楓閱讀 455評(píng)論 0 0
  • 1 當(dāng)我們一邊抓狂、躁動(dòng)、甚至要爆炸了,一邊還井然有序高效對(duì)付著那些棘手如魔鬼般的難題,我們的內(nèi)核也在努力趁勢打怪...
    逯逯無為閱讀 1,887評(píng)論 1 4
  • 星期天,和平時(shí)沒什么兩樣的周未,在家里洗衣服做衛(wèi)生,玩游戲,看美劇,唯獨(dú)沒有把計(jì)劃中的圖紙畫一根線??傊?,很忙很忙...
    憤怒的老鳥閱讀 249評(píng)論 0 0

友情鏈接更多精彩內(nèi)容