您可以免費下載該工具並將其用於您的私人目的。如果您修改此程式並想共用它,請建立一個分支。您必須在頂部包含原始存儲庫的鏈接,如下所示:原始存儲庫:[鏈接]
高級程式可讓您更多地控制其行為並編輯其配置。對於大多數用戶來說,標準的就足夠了。進階程式版本位於此儲存庫的「advanced_version」目錄中。
我正在創建這個應用程式來學習一些Python並將其作為批量卡下載的備份手段。我有自己用 JS 編寫的瀏覽器插件,它運作得很好,但我正在研究這個解決方案,以防我損壞的插件停止工作。另外,我不會發布該附加元件的源代碼,因為它是專門為我製作的 - 所以它有點損壞,但在某種程度上我懶得修復它。這就是這個專案的開始。該計劃是使用 Selenium 並提供比目前瀏覽器插件更多的功能。外掛程式的工作原理是按順序點擊下載按鈕,等待硬編碼的時間直到下載完成(以防止多次下載,因為網站不喜歡這樣),然後點擊下一個按鈕移至下一頁並重複。現在我想創建另一個解決方案,允許用戶建立設定檔以更加自動化下載過程。看看它會帶我去哪裡。
我已經發現為此目的編寫 JS 擴展速度超快,也不那麼複雜,但兩種解決方案肯定都有其優點和缺點。 (我可能稍後會列出它們)
該軟體正在開發中,因此建議閱讀 .py 檔案內的程式碼註釋,以便更好地了解其內部工作原理
程式是為 db.bepis.moe 製作的 - 因此,如果您不確定可以在某些欄位中輸入什麼值 -> 進入網站 -> 選擇遊戲 -?檢查您可以選擇和/或輸入搜尋表單的內容
選擇遊戲類型
選擇下載類型 -> “基本”允許僅輸入“名稱”和/或“標籤”進行搜尋 -> “高級” - 允許設定可用於所選遊戲的每個搜尋參數(該遊戲正在進行中)
為每個提示欄位輸入值或按一下“Enter”以獲得預設值。
等待下載完成。
所選遊戲的頁面已加載,表格由硒填充。
點擊搜尋按鈕後,程式將等待 5 秒以載入網站。
它會每 5 秒鐘下載一次卡,以防止多次下載,因為網站不喜歡多次下載。 (有些卡可能超過 25MB,這就是為什麼最好給它更多的時間而不是更少的時間)//我可能會創建一個函數來檢查卡下載是否完成,而不是將來繼續處理下一張卡。
如果頁面上的卡片少於 24 張,則為最後一頁(或僅有一頁)-> 下載完成
如果頁面有 24 張卡片,但「下一步」按鈕已停用 -> 下載完成
如果按鈕處於活動狀態 -> 更改 url 並載入頁面 -> 開始下載卡片,直到頁面上的卡片少於 24 張或「下一步」按鈕已停用。
有些卡片很重,甚至超過 25MB - 如果您的網路速度很慢 - 更改等待時間 - 卡下載之間甚至可以為 20 秒!
程式碼對應的SLEEP函數有註釋,用#括起來。就像下圖所示:
###################################### #BELOW TIME FOR CARD TO BE DOWNLOADED# ######################################
+已知問題是 -> 如果您從 PyCharm 運行該程序,並且可能以任何其他形式運行,惡意軟體位元組將殺死該程式。禁用它並再次嘗試使用它。 //牠喜歡殺死python腳本。
為了確保程式下載了所有卡片,您可以使用以下公式:((頁數)- 1)* 24 +(最後一頁上的卡片數)
對於 7 頁,當最後包含 4 張卡片時,它看起來像:6*24+4 = 148 張卡片
對於不太高級的用戶:不要使用此腳本下載「即時內容」 -> 如果有人將新卡上傳到網站,並且它符合您的下載條件,則腳本將不會下載它們。這種情況會改變卡片的順序,並可能導致在非常活躍的搜尋或重複下載中遺漏一些卡片。想像網站上有 30 張卡片 - 第 1 頁有 24 張卡片,第 2 頁有 6 張卡片。該頁面可以處理 24 張卡片,因此最後 3 張卡片被移至第 2 頁,其中現在放置 9 張卡片。但腳本不知道這一點 - 瀏覽器在此之前已經加載了頁面。它有沒有行動卡片的網站版本。腳本將頁面變更為下一頁(第 2 頁)。您下載了這 9 張卡片,其中包括您已經擁有的 3 張卡片。