Python實戰案例教學(視頻講解) - 12306自動訂票&搶票

2021-03-02 跟哥一起學python

需求和實現原理

每到春節國慶這種長假,搶火車票就成了最熱門的話題。很多網站也推出了一些搶票軟體,有些收費有些免費。

我們說,python是萬能的!那麼,python能幫我自動預訂(搶)火車票嗎?答案是肯定的:)要不然我也不會做這個視頻教程了。

python有很多方法去實現搶票,其基本原理,就是讓程序自動模擬人去操作12306網站。因為電腦程式的動作肯定比人工快,它能毫秒級刷新網頁(當然,前提是你們家的電腦和網速足夠快),所以程序搶票成功率就比人工要快很多了。

玩python,都有一個同樣的套路。那就是去網上找一個好用的第三方庫(python的強大就在於此!你能想到的功能,基本上都能找到人家寫好的庫)。我們這個需求,最核心的功能,是如何操作網頁。我找到了一個庫,叫做splinter,官網文檔如下:

https://splinter-docs-zh-cn.readthedocs.io/zh/latest/

Splinter 是用 Python 開發的一個開源web自動化測試的工具集。它可以幫你自動化瀏覽器的行為,比如瀏覽 URLs 並和頁面進行交互。

通俗點,就是我們可以使用splinter的接口,去操作任意網頁的行為,比如跳轉到某個url啊、點擊網頁裡面某個按鈕啊、選擇網頁裡面的某個多選框啊...

splinter的安裝,和其它第三方庫是一樣的,你可以直接在pycharm中安裝,也可以在shell裡面執行pip命令:

pip install splinter

另外,splinter僅僅是一個通用的,可以操作網頁的工具。如果我們要實現12306的訂票,那麼我們還需要對12306網站進行分析。

12306網站的訂票流程主要涉及三個頁面:登錄頁面、餘票查詢頁面、訂單頁面。

一、登錄頁面

由於12306有防機器人登錄的驗證,所以登錄必須人工完成,無法自動。你可以掃碼或者帳號密碼登錄。

二、餘票查詢頁面

這個頁面是重點了!我們所謂的搶票,主要就是要不停地快速刷新這個頁面,發現能預訂,就趕緊點擊。

三、訂單頁面

這個頁面我們要選擇乘車人。注意,為了方便,乘車人需要提前在你的帳號裡面錄入好。

然後點擊提交訂單,就下單成功。最後只需要你半個小時內完成支付即可。

更多詳細的,看上面的視頻吧,源碼在老地方,可以下下來慢慢研究。

最後囉嗦幾句,我不推崇把我的源碼下載下來後,就開始運行,運行不成功就私信問我是怎麼回事。

我提供的源碼並不是商用產品,我更多是保證功能正確可用,但是穩定性、兼容性、性能等等,可能就不會考慮那麼多。所以裡面肯定有各種各樣的問題。

你應該去讀懂源碼,等你讀懂之後,你自己就知道是哪裡出問題了。定位並改正問題,本身就是很好的學習過程,好的程式設計師都是被無數bug折磨過來的:)

學習編程,一定一定要自己親自動手去寫代碼,去閱讀代碼,否則光看教程就是看個熱鬧而已。

你希望用python解決什麼問題?歡迎私信我!我去研究研究。

相關焦點

  • 重磅,12306搶票小助手開源了!
    目前12306 搶票小助手已經有 29.4k+ Star,9.3k+ Fork,希望對小夥伴有所幫助!已有功能√自動打碼√自動登錄√準點預售和撿漏√智能候補√郵件通知        排隊等待時間預計還剩 -12 ms        排隊等待時間預計還剩 -6 ms        排隊等待時間預計還剩 -7 ms        排隊等待時間預計還剩 -4 ms        排隊等待時間預計還剩 -4 ms        恭喜您訂票成功,訂單號為:EB52743573, 請立即打開瀏覽器登錄12306,訪問『未完成訂單
  • 春節回家搶票難?"Python搶票教程」幫你解決!
    這個項目基本上是緊隨著12306網站的功能更新而更新的,比如去年春運增加的候補功能,在票賣完的情況下預先付款,等其他人退票之後自動補上。該項目也在今年加入了這個功能。目前這個搶票小助手基本支持12306的所有主要功能,包括相當郵件通知、智能候補等。
  • 12306火車票搶票代碼發布,五一搶票就靠它了!
    代碼功能:1、自動登錄12306
  • python實現12306自動搶票,並發簡訊郵件通知!
    腳本實現及實踐最近在學Python,所以用Python寫了這個12306搶票腳本,分享出來,與大家共同交流和學習,有不對的地方,請大家多多指正。實現思路是splinter.browser模擬瀏覽器登陸和操作,由於12306的驗證碼不好自動識別,所以,驗證碼需要用戶進行手動識別,並進行登陸操作,之後的事情,就交由腳本來操作就可以了,下面是我測試時候的一些截圖:第一步:如下圖,首先輸入搶票基本信息
  • 12306 bypass和12306訂票助手安裝使用教程
    bypass12306 Bypass-分流搶票是成功率最高的搶票軟體,最贊的一點是免費的!軟體是免安裝的,下載解壓後,雙擊12306Bypass即可打開軟體。打開軟體後直接登錄自己的12306帳戶(軟體只能登錄一個帳號),伺服器按照其默認給出的選擇即可,當然了,自己嘗試其他選擇也可以。
  • Python3.6實現12306火車票自動搶票
    最近在學Python,所以用Python寫了這個12306搶票腳本,分享出來,與大家共同交流和學習,有不對的地方,請大家多多指正。
  • Python實戰案例教學(視頻講解) - 開發五子棋遊戲(一)
    收錄於話題 #有趣的python
  • 50個搶票加速包,還不如這個Python搶票神器
    大部分人都是不願意花錢買加速的,所以你開始群發好友,轟炸微信群,朋友圈吆喝,掛 N 個搶票軟體,各種你能想到的手段,都嘗試一遍,但無一都失敗了。今天我就給大家介紹一個開源的 Python 搶票程序,親測有效!
  • 12306鐵路網上訂票新版圖片驗證碼如何使用
    12306鐵路網上訂票新版圖片驗證碼如何使用2據說12306的驗證碼打敗了全國99%的用戶,我們來看幾張吧~
  • 全網最牛掰的12306搶票神器
    不存在的,我有Python搶票工具。Github上有個項目名為 「12306」,標星超過8.4k,來自名叫文賢平的程式設計師。這很可能是全GitHub最德高望重的購票小助手了,功能一直在更新,且現已支持Python 3.6以上版本。
  • 用 Python 寫一個搶票軟體
    本文介紹的是如何用 Python 語言實現 12306 自動預定列車票,也就是坊間常說的「搶票」,但個人覺得,這不算是「搶」,只不過是一定程度的自動化。總體設計所謂搶票軟體,本質上就是基於瀏覽器驅動,實現登錄、預定、確認信息的自動化。
  • 【在線學Python】從入門到企業項目實戰!
    一階段:0基礎入門階段基礎專題Python入門教學Python常用函數階段介紹:三天入門
  • 12306bypass搶票
    通過12306bypass搶票方法(上)介紹
  • 推薦18個Python爬蟲實戰案例
    目錄爬蟲小工具爬蟲實戰筆趣看小說下載VIP視頻下載百度文庫文章下載_rev1百度文庫文章下載_rev2《帥啊》網帥哥圖片下載構建代理IP池《火影忍者》漫畫下載財務報表下載小助手一小時入門網絡爬蟲抖音App視頻下載_rev1
  • 火車票查詢12306機票查詢 智行火車票12306搶票
    火車票查詢12306機票查詢智行火車票12306是否可靠?智行火車票12306確實能搶到票嗎?赤星火車票12306是否要收費?智行火車票12306門票獲取應用程式是一款旨在自動獲取火車票的軟體。您可以在此平臺上查看最新的票務信息,買票比其他人快一步,您也可以隨時更改標誌,讓您隨時拿票快來下載吧!
  • 還在加錢搶票?12306已屏蔽多個搶票軟體
    面對搶票軟體的花樣,有專家提醒,雖然理論上搶票軟體比人工刷新更快,但12306已經屏蔽了許多搶票埠並推出了「官方搶票」的候補功能——也就是,當沒有餘票時,12306會在車次列表中出現「候補」的字樣。旅客可根據需求選擇車次、席別,在成功支付候補預付款後,如果有匹配需求的車票,系統會自動生成已支付訂單,並退回差額;如果沒有,系統將全額退還預付款。
  • 18個Python爬蟲實戰案例(已開源)
    點擊上方「Python技術之巔」,馬上關注,每天下午17:40準時推送目錄爬蟲小工具爬蟲實戰筆趣看小說下載VIP視頻下載百度文庫文章下載_rev1百度文庫文章下載_rev2《帥啊》網帥哥圖片下載構建代理IP池
  • Python實現12306火車票自動搶票,並簡訊和郵件通知
    >249250251252253254255256257258259260261262263264265266267268269270copy"""通過splinter刷12306火車票可以自動填充帳號密碼,同時,在登錄時,也可以修改帳號密碼然後手動識別驗證碼,並登陸,接下來的事情,交由腳本來做了,靜靜的等待搶票結果就好(刷票過程中,瀏覽器不可關閉)author: cuizytime: 2018-05-30"""import refrom splinter.browser import Browserfrom
  • 【2套新教學上架】Maya與python 腳本實戰案例教程;Vray For Max場景效果圖實戰案例教程
    Maya與python 腳本實戰案例教程本教學由Haru老師錄製,帶領大家學習python在maya中的實際使用
  • 高鐵搶票軟體 - 您的高鐵票已搶到~
    又到了搶票時刻,南往北漂,北往南漂,怎麼漂,都有一天要歸家,那一刻,穿心似箭,迫切而又焦慮的感受是每一位回家人兒的心裡故事!新的一年裡,斑馬繼續推薦給大家一些不錯的電腦搶票軟體,可以實現24小時掛機搶票,更多的是,搶到票後可以收到郵件提醒,QQ提醒。