前幾天我把下載YouTube影片的PyTube3程式庫更新到最新版:
pip install pytube3 --upgrade
結果之前寫的YouTube影片下載程式出現錯誤,不能用了。經修改幾個地方,程式即可正常運作,而且測試下載幾個影片,原本無法下載的音樂影片都能正常下載了。
書本的補充內容
前幾天我把下載YouTube影片的PyTube3程式庫更新到最新版:
pip install pytube3 --upgrade
結果之前寫的YouTube影片下載程式出現錯誤,不能用了。經修改幾個地方,程式即可正常運作,而且測試下載幾個影片,原本無法下載的音樂影片都能正常下載了。
Python的subprocess程式庫在Python 3.5版新增了run()方法,它能擷取外部命令的輸出(stdout)或錯誤訊息(stderr),可替代原本的call()以及Popen()方法。run()其實是把Popen()重新包裝、簡化的方法。以擷取ping命令的輸出為例,跟Popen()方法一樣,外部命令預設採用字串列表格式,並透過stdout參數把外部命令的輸出導入Python程式。
本文將補充說明YouTube影片下載(一)的原始碼當中的subprocess程式庫的call()及Popen()方法;介紹subprocess程式庫之前,首先要知道什麼是process和thread。以瀏覽「視訊直播」網頁為例,目前開啟的瀏覽器視窗是一個Process(程序),網頁中的文字、影像和視訊,則是由程序裡的不同Thread(執行緒)同時連結到網站伺服器擷取而來的。
上一篇文章的下載YouTube影片程式裡面的「檢測影片是否有聲音」與「合併視訊和聲音」,以及《超圖解Python程式設計入門》第5章的批次轉換多媒體檔案格式和MP3聲音檔的功能,全都仰賴FFmpeg工具程式完成。本文將補充說明上一篇文章使用到的ffmpeg命令和操作。
本文旨在補充《超圖解Python程式設計入門》第5章的YouTube影片下載單元,採用新版PyTube程式庫,修正部份影片無法下載的問題,並且新增合併視訊和音軌的功能。
ESP8266只有1.5個博士學位UART序列埠,所以《超圖解Python物聯網實作入門:使用ESP8266與MicroPython》第七章的GPS模組連接實驗,需要搭配WebREPL操作。ESP32也可以透過WebREPL操作,設定方式和ESP8266板相同;LOLIN32控制板有兩個UART硬體介面,把GPS模組接在第2個UART序列埠的示範如下:
MicroPython的ESP32韌體分成支援Wi-Fi(但不支援藍牙)以及支援藍牙(但不支援Wi-Fi)兩大版本,每個版本各有三個系列:
ESP32是結合Wi-Fi和藍牙的32位元系統單晶片(S0C)與外接快閃記憶體的模組,有許多廠商生產採用ESP32模組的控制板,它們的多半大同小異,最基本的ESP控制板就是ESP32模組加上直流電壓轉換器以及USB序列通訊介面IC。這是一款稱為WEMOS LOLIN32的ESP32控制板,具備3.7V鋰電池插座:
本文將示範如何把《超圖解Python程式設計入門》第12章的留言板資料庫網站佈署到Heroku。Heroku網站提供的資料庫系統是開放原始碼的PostgreSQL(簡稱Postgres),啟用此資料庫系統的步驟如下:
本文將示範用一個74HC595連接兩個7段顯示器,從00開始,每隔一秒加1顯示0~99。底下的電路圖改自《超圖解Arduino互動設計入門》動手做7-2,新增的七段顯示器與前一個並聯。
左下圖的swap()自訂函式將接收x和y兩個整數型參數,呼叫此函式傳入並傳遞參數時,資料將被複製給函式參數,因而稱作傳值呼叫(call by value)。此自訂函式執行完畢,資料僅在其內部達成交換,x, y和temp也會被刪除,所以a和b變數值並未交換。
以工程繪圖、輔助設計製造和3D動畫軟體聞名的Autodesk(歐特克)公司,曾推出模擬電子電路並支援Arduino程式設計的123D Circuits (Circuits.io)網站。歐特克公司於2013年併購了線上3D造型設計軟體公司“Tinkercad”,然後在2017年把123D Circuits當中的“Electronics Lab”(電子實驗室)功能移到Tinkercad網站,circuits.io則更名為“library.io”,提供PCB印刷電路板設計和製造相關業務。
Begin typing your search term above and press enter to search. Press ESC to cancel.