成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

GitHub標星超12K,搶票神器大更新,支持候補!

開源
掐指一算,距離國慶黃金周還有半個月的時間!你出行的車票都搶到了嗎?

 掐指一算,距離國慶黃金周還有半個月的時間!你出行的車票都搶到了嗎?

[[276822]] 

圖片來自 pexels

根據(jù)國務院辦公廳發(fā)布的關(guān)于 2019 年部分節(jié)假日安排的通知,國慶放假安排是:10 月 1 日至 7 日。

 

想要十一出行的小伙伴們,想必前幾天剛經(jīng)歷了一波搶票大戰(zhàn)。順便把一個 Python 搶票工具,送到了 GitHub 趨勢榜第一。

 

這個項目名很干脆,就是“12306”,目前標星超過 12K。項目發(fā)起者是一名叫文賢平的程序員。

[[276823]] 

這很可能是全 GitHub 最德高望重的購票小助手了,現(xiàn)在功能一直在更新,且已支持 Python 3.6 以上版本。

一些后起之秀也是在它的基礎(chǔ)上開發(fā)出來,然后廣受歡迎:

 

標星超 5K 的“py12306”便是其中之一,它支持分布式搶票。十一后面還有春運,如果需要搶票,可以試一下這些 Python 工具。已經(jīng)有許多人親測成功搶到票了。

兩個 GitHub 上高星搶票項目

12306 購票小助手

文賢平/文先森 (testerSunshine) 的搶票小助手“12306”,雖然誕生在 2018 年初,但最近一次提交代碼,是在今年 9 月 5 日,現(xiàn)在還十分新鮮。

這只得力的小助手,思路清晰又緊湊:

 

從查詢余票開始,到付款完成,最后獲取訂單號。一氣呵成,不怕人類手速太慢。

有了它,文先森去年就絲滑地搶到了回家的票。而后,便努力幫助搶票助手繼續(xù)進化。

到目前為止,文先森與一眾貢獻者,已經(jīng)在項目里提交了 361 次代碼,實現(xiàn)的功能有這些:

 

從更新日志看來,最近加入的重要功能是候補訂單。所謂候補,就是在票賣完的情況下預先付款,等其他人退票之后自動補上,是我國 2019 年春運才出現(xiàn)的新機制。

但文先森也還不清楚,這項功能在搶票助手里的需求是怎樣的,所以正在密集地嘗試和調(diào)整:

 

在實現(xiàn)新功能的同時,已有的功能也在不斷優(yōu)化。這個搶票工具越來越強大,已具備自動打碼、自動登陸、準點預售和撿漏、智能候補、郵件通知、 pushbear 通知等功能。GitHub 標星數(shù)量比起年初的 4K,也已經(jīng)翻了兩番。

隨著項目的成長,文先森在 8 月 31 日宣布了一件重要的事:放棄支持 Python 2.7,只支持 3.6 以上版本。

下面讓我們具體看看這個項目:

①依賴庫

驗證碼目前可以本地識別,需要下載模型,放于項目根目錄,全部代碼來源于此項目(https://github.com/zhaipro/easy12306),表示感謝:

  1. PS:  
  2.   1. 模型下載鏈接:https://pan.baidu.com/s/1rS155VjweWVWIJogakechA  密碼:bmlm 
  3.      群里面也可以下載 
  4.   2. git倉庫下載:https://github.com/testerSunshine/12306model.git 

項目依賴包查看 requirements.txt:

  1. https://github.com/testerSunshine/12306/blob/master/requirements.txt 

安裝方法 x:

  • root 用戶(避免多 Python 環(huán)境產(chǎn)生問題):pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
  • 非 root 用戶(避免安裝和運行時使用了不同環(huán)境):pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

②項目使用說明

服務器啟動:

  • 修改配置文件,可以配置郵箱,配置郵箱的格式在配置里面可以看到 ex,可以配置 Server 醬提醒(推薦)配置教程,配置配置文件的時候,需注意空格和遵循 Python 語法格式。
  • 運行根目錄 sudo python run.py,即可開始。

如果你的服務器安裝了 Docker 與 Docker-Compose, 那么就可以通過 Docker-Compose 進行啟動。

docker.sh 腳本對此進行了封裝,可以通過如下命令進行啟動:

  • sudo ./docker.sh run #創(chuàng)建一個鏡像并啟動容器,如果鏡像已經(jīng)創(chuàng)建過了會直接啟動容器。
  • sudo ./docker.sh restart #修改配置文件后,通過此名命令可重新加載容器運行。
  • sudo ./docker.sh rm #刪除容器。
  • sudo ./docker.sh drun #后臺運行容器。
  • sudo ./docker.sh logs #在后臺運行時,通過此命令查看運行的內(nèi)容。
  • 注:針對沒有 Docker 環(huán)境的同學提供了 Docker 安裝腳本(Centos7)- sudo ./docker_install_centos.sh。

③目錄對應說明

目錄對應說明如下:

  • agency-cdn 代理
  • config-項目配置
  • verify-自動打碼
  • init-項目主運行目錄
  • inter-接口
  • myException-異常
  • myUrllib request 網(wǎng)絡(luò)請求庫

④日志例子

成功 log,如果是購票失敗的,請帶上失敗的 log 給我,我盡力幫你調(diào),也可加群一起交流,程序只是加速買票的過程,并不一定能買到票:

  1. 正在第355次查詢  乘車日期: 2018-02-12  車次G4741,G2365,G1371,G1377,G1329 查詢無票  代理設(shè)置 無  總耗時429ms 
  2. 車次: G4741 始發(fā)車站: 上海 終點站: 邵陽 二等座:有 
  3. 正在嘗試提交訂票... 
  4. 嘗試提交訂單... 
  5. 出票成功 
  6. 排隊成功, 當前余票還剩余: 359 張 
  7. 正在使用自動識別驗證碼功能 
  8. 驗證碼通過,正在提交訂單 
  9. 提交訂單成功! 
  10. 排隊等待時間預計還剩 -12 ms 
  11. 排隊等待時間預計還剩 -6 ms 
  12. 排隊等待時間預計還剩 -7 ms 
  13. 排隊等待時間預計還剩 -4 ms 
  14. 排隊等待時間預計還剩 -4 ms 
  15. 恭喜您訂票成功,訂單號為:EB52743573, 請立即打開瀏覽器登錄12306,訪問‘未完成訂單’,在30分鐘內(nèi)完成支付! 

推薦有動手能力的朋友使用,搶票事半功倍。所以,多試幾種工具也是好的,尤其是可以同時進行多個任務的那種。

py12306 購票助手

一位名叫 pjialin 的程序員,借鑒了文先森的部分代碼實現(xiàn),開發(fā)了一個分布式工具,名叫 py12306 購票助手。

就是說,一臺機器搶不到,可以讓許多硬件一起跑。它還支持多任務 (多班列車) 、多日期、多賬號一起查。另一個機智的功能是,同時觀察多個始發(fā)站和到達站的組合。

比如,北京出發(fā)的票沒有了,就跑去下一站上車;或者家門口買不到,就直接買到終點:愿意妥協(xié)但限于手速的小伙伴,也能交給工具自動查看了。

項目作者說,試過文先森的算法和 bypass12306 未果,這才做出了自己的搶票工具。

用上這個新工具,他一下子搶到了好幾張票:

同樣是支持 Python 3.6 以上版本,這個項目現(xiàn)在也有 5K 標星了。 


下面我們來看看使用方法:PS:py12306 需要運行在 python 3.6 以上版本(其他版本暫未測試)。

①安裝依賴

  1. git clone https://github.com/pjialin/py12306  
  2. pip install -r requirements.txt 

②配置程序

  1. cp env.py.example env.py 

自動打碼:驗證碼可以本地識別,所用的模型和算法均來自:

  1. https://github.com/zhaipro/easy12306 

語音通知:語音驗證碼使用的是阿里云 API 市場上的一個服務商,需要購買后將 appcode 填寫到配置中:

  1. https://market.aliyun.com/products/56928004/cmapi026600.html  

③啟動前測試

目前提供了一些簡單的測試,包括用戶賬號檢測,乘客信息檢測,車站檢測等。

開始測試 -t:

  1. python main.py -t 

測試通知消息 (語音,郵件) -t -n:

  1. # 默認不會進行通知測試,要對通知進行測試需要加上 -n 參數(shù)  
  2. python main.py -t -n 

④運行程序

  1. python main.py 

參數(shù)列表如下:

  • -t:測試配置信息
  • -t -n:測試配置信息以及通知消息
  • -c:指定自定義配置文件位置

分布式集群依賴于 Redis,目前支持情況:

  • 單臺主節(jié)點多個子節(jié)點同時運行。
  • 主節(jié)點宕機后自動切換提升子節(jié)點為主節(jié)點。
  • 主節(jié)點恢復后自動恢復為真實主節(jié)點。
  • 配置通過主節(jié)點同步到所有子節(jié)點。
  • 主節(jié)點配置修改后無需重啟子節(jié)點,支持自動更新。
  • 子節(jié)點消息實時同步到主節(jié)點。

使用:將配置文件的中 CLUSTER_ENABLED 打開即開啟分布式。

目前提供了一個單獨的子節(jié)點配置文件 env.slave.py.example 將文件修改為 env.slave.py,通過 python main.py -c env.slave.py 即可快速啟動。

Docker 使用

①將配置文件下載到本地

  1. docker run --rm pjialin/py12306 cat /config/env.py > env.py 
  2. # 或 
  3. curl https://raw.githubusercontent.com/pjialin/py12306/master/env.docker.py.example -o env.py 

②修改好配置后運行

  1. docker run --rm --name py12306 -p 8008:8008 -d -v $(pwd):/config -v py12306:/data pjialin/py12306 

當前目錄會多一個 12306.log 的日志文件,tail -f 12306.log。

Docker-Compose 中使用如下:

①復制配置文件

  1. cp docker-compose.yml.example docker-compose.yml 

②從 Docker-Compose 運行

在 docker-compose.yml 所在的目錄使用命令:

  1. docker-compose up -d 

Web 管理頁面

目前支持用戶和任務以及實時日志查看,更多功能后續(xù)會不斷加入。

 

打開 Web 功能需要將配置中的 WEB_ENABLE 打開,啟動程序后訪問當前主機地址 + 端口號 (默認 8008) 即可,如 http://127.0.0.1:8008。

 

關(guān)于防封:目前查詢和登錄操作是分開的,查詢是不依賴用戶是否登錄,放在 A 云 T 云容易被限制 IP,建議在其他網(wǎng)絡(luò)環(huán)境下運行。

[[276825]]

最后,祝小伙伴們十一都能順利回家!

[[276826]] 

12306項目傳送門:

  1. https://github.com/testerSunshine/12306 

py12306 項目傳送門:

  1. https://github.com/pjialin/py12306/ 

 

責任編輯:武曉燕 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2019-09-08 23:00:19

GitHub代碼開發(fā)者

2020-02-20 10:00:04

GitHubPyTorch開發(fā)者

2013-01-17 10:49:42

2013-01-22 09:31:33

2019-01-09 09:35:41

搶票Python軟件

2019-12-25 10:29:59

GitHub代碼開發(fā)者

2023-11-26 17:03:33

公司AI

2018-01-10 15:23:09

2021-07-26 07:47:37

前端自動搶票

2021-10-21 05:57:33

網(wǎng)盤開源云盤系統(tǒng)

2021-04-09 16:25:00

GitHub代碼開發(fā)者

2019-12-27 14:26:33

Github開源搶票神器

2019-11-14 09:17:56

GitHub代碼開發(fā)者

2020-08-28 15:42:30

GitHub代碼可視化

2021-09-16 15:52:05

GitHub命令URL

2021-09-18 11:28:29

GitHub代碼開發(fā)者

2019-01-16 16:00:33

2022-03-25 22:57:37

系統(tǒng)設(shè)計架構(gòu)

2021-09-04 15:42:17

GitHub面試程序員

2019-12-24 11:13:02

GitHub代碼開發(fā)者
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产综合视频 | av天天看 | 中文字幕亚洲欧美 | 欧美激情亚洲天堂 | 欧美aaaaaaaa| 日韩欧美国产电影 | 午夜在线免费观看 | 一区二区免费看 | 亚洲视频区 | 一区二区三区精品视频 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 国产精品国产a级 | 少妇特黄a一区二区三区88av | 国产精品精品视频一区二区三区 | 久久在线视频 | 国产精品视频久久 | 欧美午夜精品久久久久久浪潮 | 亚洲三区在线 | 国产精品久久久久久久 | 欧美精品日韩精品国产精品 | 成人看片在线观看 | 欧美一区二区久久 | 成人免费视频网站在线看 | 色姑娘综合网 | 久久免费视频观看 | 色综合色综合色综合 | 久久久久久久久久爱 | 九九热最新地址 | 国产区精品 | 美女一区| 欧美一级片中文字幕 | 久久久.com | 伊人看片 | 夜色www国产精品资源站 | 日本一区二区三区精品视频 | 久久久精 | 亚洲精品美女视频 | 精品一二三区视频 | 人人射人人草 | 亚洲欧美在线视频 | 伊人网综合在线观看 |