- 使用機器人搶票有被官方鎖帳號的風險,請評估後再進行使用,後果請自行承擔。
- 以下文章出現的「搶票」指的是「非台灣的藝文活動或車票」。
文章索引
軟體特色
- 急速搶票
優化購票流程。 - 自動填寫
搶票不再手忙腳亂心慌慌。 - 合法購票
本系統僅代為填寫購票資訊,無任何入侵、取得、刪除或變更售票系統其電磁紀錄。 - 多系統支援
支援 Windows 和(Mac、Linux 請直接執行原始碼) - 無時間或次數限制
如果官方網站沒有改版,可以在多台電腦且無使用時間或次數限制。 - 無病毒/惡意/間碟程式
開放主程式的原始碼,雖然原始碼的檔案可以執行,但需要在相依元件都安裝的環境下,建議下載執行檔,會簡單很多。
檔案下載
https://github.com/max32002/ddddext
示範影片
網頁驗證碼自動輸入使用教學: https://youtu.be/wZy4BQ-z-S4
自動打勾+輸入欄位內容: https://youtu.be/98YikOWDLjo
在特定欄位自動打勾/移除勾勾 https://youtu.be/q17yvLtRato
參數設定
遇到 html 內容的語法有 id="xxx"
的時候,selector 欄位請輸入:#xxx
遇到 html 內容的語法有 class="xxx"
的時候,selector 欄位請輸入:.xxx
selector 使用教學:https://ithelp.ithome.com.tw/articles/10095237
個案1號:
在驗證碼圖片按右鍵,選擇「Inspect」之後,可以看到網頁元素的原始碼如下:
以上面的個案來說,
- 驗證碼圖片 selector 輸入:
#verifyCode-img
或是img[id="verifyCode-img"]
- 輸入欄位 selector 輸入:
#verifyCode
或是input[id="verifyCode"]
個案2號:
img 本身並沒有 id 或 class 可以存取,但可以可以 img tag 的爸爸有 class=”captcha”, 因此存取驗證碼,可以使用:
div.captcha > img
說明:selector 的世界,遇到樹狀結構時,可以使用大於符號,代表必需符合下一層。如果是使用空格符號,代表也是只要在下面的N層都算符合條件。結論來說,盡量多使用大於符號,比較不會出問題,但有些複雜情況下,使用空格會比較有效率。
個案3號:
以上的個案, 可以使用 input[placeholder="身分證字號"]
之外也可以使用 input[formcontrolname="id"]
透過原始碼的執行方法
DDDDEXT 可以不安裝就在各個平台的 chrome 瀏覽器上執行,使用方式先從 gibhub 是先下載原始檔的zip 檔, 並解壓縮, 在 chrome 瀏覽器的網址輸入 chrome://extensions, 右邊啟用 Developer mode,就可以 Load unpacked extension. 擴允功能的目錄在 /ddddext/webdriver/ 目錄下.
透過原始碼執行ddddext教學影片: https://youtu.be/HpVG91j0lbI
使用原始碼的解法,第一步是先取得原始碼後,開啟 Terminal 視窗來下指令,應該是4行指令就可以了。
請參看看文章: 如何用虛擬主機搶拓元的門票,這篇文章是以虛擬主機來示範,在 Windows / macOS / Linux 平台裡的 python 操作方式幾乎相同。
詳細的文字說明: https://max-everyday.com/2023/11/buy-ticket-by-vm/
Step 1: 取得source code:
git clone https://github.com/max32002/ddddext.git
Step 2: 進入 clone 的資料夾: ddddext:
cd ddddext
Step 3: 安裝第三方套件:
python3 -m pip install -r requirement.txt
Step 4: 執行設定介面主桯式:
python3 start.py
不管是 macOS 還是 Windows 預設都是沒有 git 這個指令,如果 Step 1 執行後, 沒有檔案被下載, 請先安裝 git 到你的作業系統。或是使用github 網頁裡的 Download 功能把python 腳本下載。
如果你選擇下載 github 上的 zip 檔, 在 Step 2 進入目錄的指令可能會遇到問題, 因為「直接解壓縮」後的目錄名稱並不是 ddddext 而是 ddddext-main, 你在進入的資料夾名稱, 需要調整為你實際解壓縮後的目錄名稱。
透過瀏覽器下載 github 上的 zip 檔, 在 Windows / macOS / Linux 平台, 預設的路徑在「下載」(~/Download) 的資料夾, 你在執行的 Terminal 視窗的路徑, 與你解壓縮的路徑可能不同, 直接執行上面的指令, 會無法進入到預期的資料夾內。
Q: 取得source code後跑出來fatal: destination path ‘ddddext’ already exists and is not an empty directory.想問是什麼意思?
A: 執行 git clone 2次, 重覆取得 source code, 才會有這個問題, 如果 ddddext 目錄已經存在, 直接 cd ddddext 就可以了。 如果你想把已下載的刪除, 可以直把把 ddddext 目錄刪掉即可。 如果你想更新 source code, 可以重新下載, 或是先 cd ddddext 目錄後, 再執行 git pull , 可以更新 source code 為新的版本。
PS:
- 請先確定你的python 執行環境下已安裝 nodriver 及相關的套件,請參考 requirement.txt 檔案內容。
檔案說明
- nodriver_ddddext.py : 使用的元件是nodriver,用來把擴充功能放進瀏覽器。
- start.py : 編輯 settings.json 的 GUI 介面。提供圖片OCR功能給chrome擴充功能。