用python寫成的youtube download工具

最近閒來無事, 在玩轉PYTHON, PYTHON真是個有趣的程式語言, 功能強大, 尤其適合資安領域使用..

加上現在有CHATGPT對學習程式啊語文類,真是一大助益…

PYTHON雖有不少外掛的函式庫, 但使用的方法可能會隨著版本的更迭而有微小的差異, 比如由圖書館借了些PYTHON的書, 你會發現書上很多程式碼跑不出來, 這時CHATGPT就很好用了, 你可以問它,現在你裝的是PYTHON 3.11, 放上程式碼詢問, 它通常能給出不錯的建議, 但我也發現它也會有些小性子, 如果你程式漏了關鍵的一行, 它不會告訴你, 這或許是免費版故意設出的限制, 好PUSH你去付費使用它4.0的版本..

之前我漏了一行, 問它好幾次, 它都沒幫我補上, 最後我只好自己看程式, 看了半天才發現我漏了一行…

書上原有的寫法, 只是介紹這pytube 和tkinter兩個外掛函式的用法..所以包括存檔路徑也必須自行輸入, 但其實正常程式應都是有個瀏覽按鈕,讓你自行在跳出的檔案管理視窗選擇存檔的路徑..所以我就針對這些進行修改, 另外原有書上的程式, 只單一指定下載的解析度, 但其實YOUTUBE一般一個影片都有多種不同解析度可供下載, 我就也加入此解析度選擇的選項

其實這個youtube 下載影片的功能, 滿網皆是, 很多網頁能提供, 但每回都得上網找找, 但現在網頁太多干擾了, 像廣告之類, 更可怕的是, 也可能在網頁上埋下別的東西, 偷偷在你瀏覽時植入些什麼好康的在你電腦里,自己弄個小程式, 可以說真的是乾浄衛生

只是寫好程式後, 總不能每回要用時, 都要開啟開發工具, 然後在寫程式的界面上按執行, 所以首先就是如何將PYTHON程式包裝成WINDOWS能用的執行檔, 而PYTHON確實也提供這樣的外掛函式,可以將PYTHON寫好的程式包成執行檔..

首先, 這個外掛函式並未內建在已安裝的PYTHON裡, 必須透過PIP指令先行安裝pyinstaller外掛函式

pip install pyinstaller

安裝完之後,再執行以下指令即可將寫好的.py程式包裝成執行檔

pyinstaller your_script.py

接著下一個問題….

既然已經有執行檔了, 如何安裝到別的電腦, 其實也很簡單, 只要ZIP下來, 再解壓到任一其它電腦, 即便該電腦沒有安裝PYTHON也要能夠執行..但如果要讓解壓等問題都不太熟悉的超級純用戶,就得附上個安裝程式豈不更香?

後來我選擇使用inno setup, 這個程式可以包裝成安裝程式, 只是在包裝時, 使用精靈去包裝時還是會有問題, 問題出在, 當你用pyinstaller去包EXE檔時, 它會在目錄下放入一個次目錄,名叫_inners

在用inno setup時, 它會把此次目錄直接全丟在你要包的主目錄下, 這樣安裝出來便不能使用, 所以必須手動修改一下編譯前的script檔, 以下是inno setup的界面

所以我將[FILES]這一段, 變更如下, 要刪掉它原有那行,改成如下的那一行

以下是編譯完安裝程式後的執行安裝過程影片:

https://kevin-urcloud.tinytake.com/df/1548af1/thumbnail?type=attachments&version_no=0&file_version_no=0&thumbnail_size=preview

最後便是下載youtube影片的操作, 請見以下示範:

https://kevin-urcloud.tinytake.com/df/1548b2b/thumbnail?type=attachments&version_no=0&file_version_no=0&thumbnail_size=preview

發佈留言