使用說明

  • 使用機器人搶票有被官方鎖帳號的風險,請評估後再進行使用,後果請自行承擔。
  • 以下文章出現的「搶票」指的是「非台灣的藝文活動或車票」。

文章索引


軟體特色

  • 急速搶票
    優化購票流程。
  • 自動填寫
    搶票不再手忙腳亂心慌慌。
  • 合法購票
    本系統僅代為填寫購票資訊,無任何入侵、取得、刪除或變更售票系統其電磁紀錄。
  • 多系統支援
    支援 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擴充功能。