百度網盤批量轉存程序,基於Python 3.10 + Tkinter構建,主要用於批量轉存網絡上分享的資源到自己的百度網盤。此外還帶有批量分享和批量檢測鏈接有效性的功能。
程序主界面:
程序開發編譯環境為Win10 x64專業版,操作系統Win7以上可直接下載運行,其他操作系統需要自行編譯或配置運行環境。
下載方式:
exe文件,文件名為BaiduPanFilesTransfers.exe ,下完可直接打開使用。BaiduPanFilesTransfers.zip ,下完後請解壓縮再使用。如果之前有運行過舊版本,直接用新版本文件覆蓋掉舊文件即可使用。
手動編譯需要事先安裝好Python 3.6以上版本。
編譯步驟如下:
在安裝有Git的主機上克隆本項目:
git clone https://github.com/hxz393/BaiduPanFilesTransfers.git或者在項目主頁點擊藍色<> Code按鈕選擇Download ZIP選項,下載源碼壓縮包,下載完畢後解壓縮壓縮包。
在命令行中切換到本項目路徑。
例如,在Windows 中,打開CMD命令提示符或PowerShell ,輸入:
cd B: 2 .脚本B aiduPanFilesTransfers-master在Linux/macOS 中,路徑的分隔符會不同:
cd /root/BaiduPanFilesTransfers-master如果使用PyCharm作為IDE,可以直接在自帶的控制台中輸入後面的打包命令。
使用venv創建並啟用虛擬環境:
python -m venv venv
venv S cripts a ctivate在Linux/macOS 下啟動虛擬環境命令稍有不同:
python -m venv venv && source venv/bin/activate
安裝項目依賴,指定使用國內科大的鏡像源:
pip install -r requirements.txt --index https://mirrors.ustc.edu.cn/pypi/web/simple/ Windows 的Python 安裝包一般會默認安裝Tkinter 。 macOS 用戶則需要手動安裝,對應Homebrew 命令為:
brew install python-tk # 也可以指定 Python 版本,如 brew install [email protected]使用pyinstaller命令編譯打包成可執行文件:
pyinstaller -F -w -i BaiduPanFilesTransfers.ico --hidden-import=tkinter --clean -n BaiduPanFilesTransfers BaiduPanFilesTransfers.py如果過程沒有異常,可執行文件BaiduPanFilesTransfers.exe會生成到dist目錄下面。
(可選)使用deactivate命令退出當前環境:
venvScriptsdeactivate.bat
請提交pull request 到dev 分支,待我驗證測試通過再合併到主分支。
本程序採用GPL-3.0 license 源授權許可協議,若違背開源社區的基本準則,將開源項目據為私有用於商業用途,屬於侵權行為,本人將追究法律責任。
獲取Cookies 為必須步驟,大多數運行錯誤都是Cookies 不正確造成,請仔細閱讀獲取方法。
使用Chrome或類似瀏覽器(最好用無痕式窗口模式)登錄百度網盤主頁,完全載入後按F12鍵調出控制台。選擇网络(Network)選項卡。
如下圖所示,目前應該空空如也: 按F5刷新頁面,下面會新增多條記錄,點擊以main開頭的記錄,右邊會出現菜單,顯示标头(Headers) 、响应(Response)等內容。在標頭頁面往下翻,找到請求標頭中以Cookie:開頭的行,後面有一串以XF開頭的內容,這就是需要找的Cookies 。把它們全部選中,右鍵選擇複製,粘貼到程序對應輸入框內:
注意一定獲取main頁面下的Cookies ,其他頁面的Cookie 不完整,會出現各種轉存失敗問題。直接訪問地址:main 頁面
保存位置如果留空不填,資源會保存到根目錄下,打開百度網盤主頁便能看到。
輸入文件保存位置後,如果目錄不存在,會自動新建目錄。如果目錄已存在,則直接轉存在指定目錄下。
支持指定二級目錄,例如,要保存到test目錄內的2024-01-02目錄中,填入test/2024-01-02即可。
保存位置(目錄名)不能包含大多數英文特殊符號,包括: > 、 | 、 * 、 ? 、 : 、 等,否則程序會檢測到併中斷運行。
如果保存路徑加文件名長度超過255個字符,用百度網盤客戶端下載文件時會失敗,所以應盡量使用短目錄名。
程序已盡可能適應常見的百度網盤鏈接格式。如出現提示「不支持的鏈接」或「鏈接錯誤」,請檢查輸入鏈接是否符合下面的格式之一:
https://pan.baidu.com/s/1nvBwS25lENYceUu3OMH4tg 6img
https://pan.baidu.com/s/1nvBwS25lENYceUu3OMH4tg ? pwd=6img
https://pan.baidu.com/s/1nvBwS25lENYceUu3OMH4tg 提取码:6img
https://pan.baidu.com/s/1nvBwS25lENYceUu3OMH4tg 提取:6img
https://pan.baidu.com/s/1EFCrmlh0rhnWy8pi9uhkyA
https://pan.baidu.com/share/init ? surl=W7U9g47xiDez_5ItgNIs0w
https://pan.baidu.com/e/1X5j-baPwZHmcXioKQPxb_w rsss
目录名 https://pan.baidu.com/s/1eOrU0S9VLoe4GgAy2gZlmw z6r4所有信息輸入完畢後,點擊「批量轉存」按鈕來執行批量轉存百度網盤鏈接。
轉存過程中可以「暫停/恢復」,也可以直接點擊程序窗口右上角的關閉按鈕來中止運行。
如果想加快轉存速度,可多開程序,分批同時轉存。總轉存速度不要超過每分鐘60條鏈接。
批量分享是指分享指定目錄下的文件或文件夾,每個生成一條分享鏈接。 ==百度網盤官方現已推出批量分享功能,在網頁端操作即可,優先使用。 ==
執行批量分享之前,同樣需要先輸入Cookies和要分享的目標路徑,然後點擊「批量分享」按鈕準備執行。此時會彈出分享設置彈窗:
設置好分享期限和提取碼(支持隨機)後,點擊確定開始執行批量分享,請等待運行完成。此時原先鏈接輸入框內,會插入即將分享的文件名;日誌輸入框內,會顯示生成的分享鏈接和結果:
百度網盤硬性限制,單帳號每日最多只能創建300 個分享鏈接,之後會報錯,非程序方面限制。
程序默認會繞過網絡系統代理,但不能繞過網絡全局代理。
如果處於特殊網絡環境下,需要配置網絡系統代理模式,才能正常訪問百度網盤,勾選上「系統代理」框後,再執行轉存。
用於指定轉存文件到多個不同的目錄。效果如下:
勾選以後,將支持類似於自设目录https://pan.baidu.com/s/1eOrU0S9VLoe4GgAy2gZlmw z6r4的鏈接,自设目录會創建到「轉存目錄」(步驟2 中輸入的目錄)中,文件轉存到自设目录裡面。
如果輸入的是普通鏈接,也就是不帶目錄名,以http開頭的鏈接,則每個鏈接將單獨保存在數字為命名的子目錄中。例如「轉存目錄」中輸入的test ,則第一個鏈接保存在test/1中,第二個鏈接保存在test/2中,以此類推。
注意,此模式要求必須輸入轉存目錄。連接中的指定目錄名不能包含空格,否則只會取到空格前一截作為目錄名。
勾選此模式後,點擊「批量轉存」來運行,將對輸入的鏈接可用性進行檢查,並不執行轉存操作:
請勿頻繁對相同的鏈接進行檢測,會導致彈驗證碼。
使用程序遇見錯誤時,先查看下面總結的一些常見問題和解決方案。再查看所有Issue 中是否有同樣問題。如果都沒有幫助,再提交反饋。
轉存普通鏈接時出現的問題,初步發現於2023.09.20。
原因:百度網盤cookie 調整,不能再使用原先保存的cookie。
解決:重新在瀏覽器獲取新的cookie,即可正常工作。
舊版本轉存秒傳鏈接時的錯誤。
原因:秒傳已不能使用。
解決:在新版本中,相關代碼已剔除,請升級到新版本。
程序突然不能轉存。
原因:Cookie 失效或不正確;百度網盤改版,程序失效。
解決:先試著通過瀏覽器無痕模式打開百度網盤主頁,登陸獲取的Cookie 看能不能正常工作。如果換過多台電腦和賬號都不工作,那就是程序需要修復更新了。可以提交Issue 反饋。
後面鏈接提示「鏈接訪問次數過多」。
原因:Cookie 不正確。
解決:通過瀏覽器無痕模式打開百度網盤主頁,重新登陸獲取Cookie 即可。
原因:通常見於帶提取碼的鏈接。如果短時間內對著一個鏈接反复訪問3 次以上,不管提取碼是否正確,都會觸發百度網盤防禦機制。如果直接在網頁端訪問鏈接,會發現要輸入驗證碼。
解決:只影響單個鏈接,其他鏈接能夠正常轉存。可以手動轉存個別出問題鏈接。如果所有鏈接都報這一錯誤,參考問題「只有第一個鏈接轉存成功」的解決辦法。
連續轉存1000 個鏈接,再多1 個都會報錯,報錯碼千奇百怪。甚至網頁端都無法再轉存,提示「數據錯誤,請稍後重試」 。
原因:百度網盤基於IP 地址層面的封鎖,禁止用戶大量轉存。
解決:可以重啟撥號路由器,更換對外IP 地址。如果需要使用代理服務器,請勾選「使用系統代理」。
原因:一般常見於文件夾轉存,免費用戶被百度限制,文件夾內文件數超過500 個,會提示「轉存文件數超過限制」。
解決:暫時不打算支持,效率太低。有需要可以留一下其他開源或免費項目,建議開通百度網盤會員來解除限制。
不支持轉存群組文件。建議手動操作轉存,或使用專用工具。
Win 10以下版本的操作系統,運行時提示缺少必要dll文件。
原因:操作系統太舊,無法支持Python 3.10 。
解決:升級操作系統;或使用2.4.0版本;或參考「自行打包」方法打包。
有時明明轉存成功,提示卻是「轉存失敗,目錄中已有同名文件或文件夾存在」。
原因:觸發機制不明,歡迎提供線索。
解決:最好在網頁端確認下,是虛報,還是真有同名但實際上不同的文件。視情況手動轉存,或勾選「安全轉存」功能。
為避免更新日誌過長,只保留最近更新日誌。
修復內容:
更新內容:
更新內容:
更新內容:
ttkbootstrap美化界面;更新內容:
更新內容:
修復內容:
python 3.6版本, Win7系統也能使用了;修復內容:
修復內容: